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:
version
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=version&include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a2e63db6-dd0a-4af9-bd12-c4a14fce358c",
            "cpe": "cpe:2.3:a:apple:ios:*:*:*:*:*:*:*:*",
            "vendor": "Apple",
            "product": "iOS",
            "version": "17.71.2357",
            "update": "build5099",
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z"
        },
        {
            "id": "a2e63db6-dea8-471b-8002-95a2a54ba341",
            "cpe": "cpe:2.3:a:adobe:acrobat:*:*:*:*:*:*:*:*",
            "vendor": "Adobe",
            "product": "Acrobat",
            "version": "14.28.1431",
            "update": "patch1",
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.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:
version

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=version" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"xlsx\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
content-security-policy-report-only: default-src 'self'; script-src 'self' 'nonce-xR2L5qwhQUAdHAg8DkS251svDGbWwHtsTT9gQuX8' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-elem 'self' 'nonce-xR2L5qwhQUAdHAg8DkS251svDGbWwHtsTT9gQuX8' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; img-src 'self' data: blob: https://*.intercomcdn.com https://*.intercomcdn.eu https://*.intercomassets.eu https://*.intercom-attachments.eu https://www.gravatar.com https://*.tile.openstreetmap.org; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://app.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost:8090; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com https://calendly.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data: https://*.intercomcdn.com; 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 https://calendly.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:
DDbefadf-ddbF-DECc-fdef-FFFBfefFfFdE

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/DDbefadf-ddbF-DECc-fdef-FFFBfefFfFdE?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db6-e364-4739-8763-a5a8a4b1f70e",
        "cpe": "cpe:2.3:a:ibm:spss:*:*:*:*:*:*:*:*",
        "vendor": "IBM",
        "product": "SPSS",
        "version": "16.35.8908",
        "update": "patch1",
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
name
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?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=name&include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a2e63db6-8739-4aee-b07d-121bf60629e6",
            "company_id": "1668915",
            "name": "Mrs. Yazmin Harber",
            "identifier": "6.7.111.66",
            "host": "6.7.111.66",
            "mac_address": null,
            "hostname": "rogahn.info",
            "operating_system": "est",
            "operating_system_name": "doloribus",
            "first_seen": "1989-11-17T00:53:24.000000Z",
            "last_seen": "1999-02-13T13:28:09.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [],
            "ssh_key": null,
            "average_scan_duration": 0,
            "licensed": true,
            "change_license_at": "2026-10-10T04:07:16.000000Z"
        },
        {
            "id": "a2e63db6-8af7-469d-95f5-e8466e385fe5",
            "company_id": "7076759",
            "name": "Florine Kertzmann",
            "identifier": "254.131.252.51",
            "host": "254.131.252.51",
            "mac_address": null,
            "hostname": "koss.com",
            "operating_system": "nisi",
            "operating_system_name": "est",
            "first_seen": "2023-10-31T23:43:58.000000Z",
            "last_seen": "2018-04-05T05:03:21.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [],
            "ssh_key": null,
            "average_scan_duration": 0,
            "licensed": true,
            "change_license_at": "2026-10-22T05:00:24.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\": \"removeLicense\",
            \"id\": \"enim\",
            \"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\": \"rxnpswslhnbckjfifv\",
    \"host\": \"dolores\",
    \"licensed\": false
}"
Example response:
{
    "data": {
        "id": "a2e63db6-9633-4c68-80e0-de4b13146fbe",
        "company_id": "214119",
        "name": "Liza Schultz",
        "identifier": "48.193.216.75",
        "host": "48.193.216.75",
        "mac_address": null,
        "hostname": "harris.info",
        "operating_system": "non",
        "operating_system_name": "rerum",
        "first_seen": "2011-12-01T01:53:35.000000Z",
        "last_seen": "2014-07-19T15:00:46.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [],
        "ssh_key": null,
        "average_scan_duration": 0,
        "licensed": true,
        "change_license_at": "2026-10-28T06:04:52.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:
CBBfacdF-fDFB-acdd-cdEC-EEFDBEfeCDDF

Query Parameters

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/CBBfacdF-fDFB-acdd-cdEC-EEFDBEfeCDDF?include=tags" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db6-9baf-4a2e-905e-018cc5959360",
        "company_id": "1875504",
        "name": "Zackary Heaney",
        "identifier": "20:23:39:25:48:BA",
        "host": "86.178.170.58",
        "mac_address": "20:23:39:25:48:BA",
        "hostname": "keebler.info",
        "operating_system": "eos",
        "operating_system_name": "ab",
        "first_seen": "2018-10-01T07:34:21.000000Z",
        "last_seen": "2019-08-20T13:08:13.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [],
        "ssh_key": null,
        "average_scan_duration": 0,
        "licensed": false,
        "change_license_at": "2026-10-08T03:19:58.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:
fEDDaaCE-DDbc-aaED-DEee-FfdBAACFccbC

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/assets/fEDDaaCE-DDbc-aaED-DEee-FfdBAACFccbC" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"hahqahs\",
    \"licensed\": true
}"
Example response:
{
    "data": {
        "id": "a2e63db6-a15e-464e-84c9-fc07b84eafb6",
        "company_id": "9512035",
        "name": "Mrs. Verona Weber",
        "identifier": "13.209.45.32",
        "host": "13.209.45.32",
        "mac_address": null,
        "hostname": "welch.org",
        "operating_system": "illo",
        "operating_system_name": "sunt",
        "first_seen": "2008-01-09T15:08:06.000000Z",
        "last_seen": "1986-03-17T22:15:24.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [],
        "ssh_key": null,
        "average_scan_duration": 0,
        "licensed": false,
        "change_license_at": null
    }
}
{
    "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:
DBBDFEDC-aADB-Aaaf-cBaE-EdEDdCdedAFC
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/assets/DBBDFEDC-aADB-Aaaf-cBaE-EdEDdCdedAFC" \
    --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:
certificates
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=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a2e63db6-ab41-4884-9bf8-ab38460b7a2f",
            "company_id": "989438",
            "common_name": "haag.com",
            "organization": "Aufderhar-Batz",
            "organizational_unit": null,
            "locality": "Bergstromchester",
            "state": "Georgia",
            "country": "BH",
            "serial": "0HM12RXWD3H4S4BGMLDQZDDETMRWPZ50",
            "not_valid_before": "20250921T223031Z",
            "not_valid_after": "20271206T072027Z",
            "value": "-----BEGIN CERTIFICATE-----\n39WFHTMVHlHQNaOf6eb8/sXYOp2hCZ2FmKYFeemx98Slv3FGyH/lIzH9UDN/sphL\n47A/9/lHVdQA7dBQd+Sv4Af7rsdhi+IXBOerFdiRi33lrfUqCOUPWRWMbH0D4mOg\nAAdIma5Vr4b+xarIaAS4XpKFpNHD2goxsi4RZuT8NJCWVHFeCajEXGVuzU9u9IAz\nDq0yxR9MvBT+hInewGtvPu3rp+l7oam3VDPS2Jk3lRUBImKX8ppCWyoPTPrl3W0v\n5Oqau85kguKaUm9pxz1qdkNBGdA78mkF8VhTflLQ4cHK6vsK/Qfs8IBD52Aw3x2F\nmbf117z/V0xLAeCeZmlDjq2IQ3Jjj5if/CNyVnGThWxLoCDCmfcD0+eUX2MeC5rk\nohUzNI/t3dbBB9X6+ZhtFHjDARNstb3m75I9ZVRtJbfgBfaQJ7vnkQ6YvN0guxm1\ntc90MkhF+mh35ghfHK69VeXNN0s+fdkz0zMtyS5f9TJMvVcw9JbVb3PH2eBWSWXz\nMwcioyl7Oy/xtslVPg2mwXX/BnUK7C9NbMSJiTweRQTuQ3zdunFVxJA78QAJE6q+\ngm5VI3FI0nA8+pl1GF5UBg2MhWrrCV56DSi68sjqrTLKj5g1YGy6gD8GRvqQTGKl\naOnIWUHvPDxK4V5m0/Ix/Bmx5lSLWpk4ja1lkX5ue1Yh/khJoHiZSwja9NA9ztP9\nN6G67DJcy2HlDH2vK0Zc7QtztUEZFvIYXQpa8Wo1E8JR/3Sp9JpIMph5LHRnpJpF\nLliRuxh/p2zjh/zoZDRr1eTfgcMEQDinSbFPd4qQnJUCT0ll1qLb3CCfmz5ohFpY\nUNxbNkuNnVGmBNHs+BT8yufPzCgnIZNWQQCSBhVqq5wUqiOAEyClpX9Q3Nb9sW/B\nM43M9JyI/aIIx1x8fiadEoU0Q/W/m1cRg3qfvjRfo6/jOD8dDUMU+g91GSy5J94z\nzi3JDmuS+CxBm+Wk/25uP9xWBY1jhZPg9lckfGPbtxThBnLlp2Wo300NDqhA1ZGt\nFc7LOB34CTHnO9CoItgk2OXuMe6limx5HzhcBp5fo2y5kYyy80UjlB9D4yC4KJ70\nHxoLGfls5YsD7iIqa0jyqWAJPnthh4TuXEe/5vp0oEBODV/ExfFwnQjLLUpqGDmP\n6STdAN10ykXuqvhtFFBwWjPRf2E8R7iPwinwECId1A7fKom7ri175SXtQqkaCaoC\ngSwHPw+eftDW0laRmLk2kAQGaW8ibv0vl0cq+2HofHNdAxjtdHrb2uvgrgTYN9BZ\nBq9ByoBQNMKPZ10z3xrRdOhJAreJXcEJk3CbzPtO1WhTr2WTz+2n6/l3MZKXJJ/E\n1+sAvlHGLEkfK7optCnj8g==\n\n-----END CERTIFICATE-----",
            "first_seen": "2025-11-16T01:22:30.000000Z",
            "last_seen": "2026-06-01T00:07:09.000000Z",
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z"
        },
        {
            "id": "a2e63db6-aeca-4540-bf52-792cb01c0828",
            "company_id": "1881915",
            "common_name": "schultz.com",
            "organization": "Heller, Williamson and Renner",
            "organizational_unit": "and Sons",
            "locality": null,
            "state": "Delaware",
            "country": null,
            "serial": "YJ7JFCHA8LHXUAI3YBMO4KQDG4VO1603",
            "not_valid_before": "20260306T175203Z",
            "not_valid_after": "20270722T100158Z",
            "value": "-----BEGIN CERTIFICATE-----\nrsdNq9oZH68pHeH7QAMnYrSHUMtWStg5IlyNEfpIRIptS3axFXTBc0GJqSREtpPE\nRj4LNF2lMYcVW3RMV0LEI6A+Lpw4V2FgshWSvaXWeerZUdtWGhYxZzB6tsgkKAP0\nMtvgVCJ9MOrlfLkriJzhWj3OIlk7P6V9ZlH9z/oxah83gF27VsUFb/qLHOaMyBjA\noc7RH01P/MSkHq3IAnJSMoA/eysaeuwMcaZo3btdEyu4RY1z8dYdRVvQ5VKxM5Fa\nuBf0UyYEYYOn2r8IMMY199Gz3mIYflDPQsGT8pTrHNSaPnH5ISp5aO4VkQUz2HM4\nEfzgyp3ou4qof1NrtOj/y0JuGECub7eZWtC0HNZnHTAWYz6NizdRUPXYhDlIXzGi\nlMXTtD20wZM0I7F8fda3pXJzfjzyMQaa2b4bMHAcRXQYSEOjDY3fj5JZQKEpb+A6\nZ773jmethBUWis6hn4+4Qr4/W2oUI4hoSXhtb3jDinDewFKrVpXBDCtJzKBrgyZu\nL+0UZZ4Oy8s2DxEYIrrbZJaWoo5qjyRSoJh2fswELXvOGa2V4l4EPMr1hATVcZNa\nOu71ssWrDN3NVCJvN4WuyPObCeX0vp1oEzSqvjp7P9iUPsKK9Fwoevllmq/qckOf\nt/9Yg7/9sb3A0V/GEMwX+kvHiGFzQEKiETi0VBH6e3sBOMiLEQDF/eEmtiGPEAeB\ns0D9DoiHkSVJ95WewGbHVaL3APiCNLmisUZVoYFAM77NdSJa8MQn6Hn5YH27y1sS\nw3pjghx1XOYrCpAnNPoTQjSgFSMTZWLkdFVexdbCb8MqqCXRTDOnmV06aam2UuMz\nzhs0dluCdbHm2idh/QjT8P2/YP+49W62dGYXXVCU4JBkR2hfE2Ln5mYPC8GDMXwN\noTJhey7/CIAnwTIuG0H14K8o89/+QpNlOUPKtxOG50Y7bbUeWt+RY/JH8MJE8P6r\nxPkTepzpOY9GSVyf8AIFnWxIE/j6+vsR6fzernI7E8Dlnl+McsGpNY5eqnRtZQsU\nl/hH57WQOnM0ywaan+HeV9l5aq/JnUcrKTCYFC2sv6HvkJNr0/Xuyh8CpS2YLQQ2\nB0voCkKcptbzM0/K08MBO2tvWXo7zalZtFIiIAIMzDUM/PfjGwhVeALWjwGVFLAj\n5p4BJ7MA3Nn+t9XjkugzJYn4grgqJOZAy2+clKLUy23rmP9XPI0vVg9M/B+ikWud\nO8z3OLVZ3k/wfBgpD6k4NOr20TEm/6r4Pce5AEsBc1zo2NEXy31Vpkb5CZLr7oM/\n3cvLQO8PiNkep4a75Dw5fiE3Ebk0Kc8c3ZP/J7cgnO1n8f5BNxd34LrC/gzyr1WJ\nMituoqAXEySn4E3J9dwjKw==\n\n-----END CERTIFICATE-----",
            "first_seen": "2026-03-13T08:37:38.000000Z",
            "last_seen": "2026-04-28T23:14:38.000000Z",
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.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:
organization
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=organization" \
    --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-Dg7ahmqZyzz7xmMzXBc1nHtIRc10RU3ISD9uUjNA' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-elem 'self' 'nonce-Dg7ahmqZyzz7xmMzXBc1nHtIRc10RU3ISD9uUjNA' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; img-src 'self' data: blob: https://*.intercomcdn.com https://*.intercomcdn.eu https://*.intercomassets.eu https://*.intercom-attachments.eu https://www.gravatar.com https://*.tile.openstreetmap.org; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://app.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost:8090; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com https://calendly.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data: https://*.intercomcdn.com; 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 https://calendly.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:
cbEcCafe-cdad-aDEa-bdac-dcFDdDFeafbA

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/cbEcCafe-cdad-aDEa-bdac-dcFDdDFeafbA?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db6-b5f8-4dd2-bd13-b6a949444690",
        "company_id": "6728927",
        "common_name": "rath.info",
        "organization": "Kshlerin LLC",
        "organizational_unit": null,
        "locality": null,
        "state": "West Virginia",
        "country": "SG",
        "serial": "GTWUVBZLYOXMPR7MAYZVYD1TCZAZZOLL",
        "not_valid_before": "20251212T013903Z",
        "not_valid_after": "20260627T062341Z",
        "value": "-----BEGIN CERTIFICATE-----\n/AxgexQgEt4UGaoKoNXWoY68g096eGLvY3teFvtmT9YlKT06czRl4hPaC4rFzJD1\nPOjmx7s4eHe9ikyX2Ef+Z2E/7RNxHwENJ7B9s+iVWfASU238QpOO8/Ec8F7SLyj/\nb23uihqHXOqb34ANK9T+urEmIkQZvud7v+iDSWmTt0sGOkgywi83hxL6eEDDaVjr\nYAJhBEZUAy3ShM2AI9zKRZoB282dcz3ELQ5q5CPquE32vZ5tgQUFpVCmrHLlD/HO\n1uSbte0i2A2n/mObkcH4B9P/rrV7JRdBe4OTt6SGpnejEaBpHC+22dGgGyLymZYb\nh0x0pxJDkPLoFHoYVHKIx/mRWfOBqjCw0fjgAod1SYTahgrpgqJMwPcQa5NqaqQ7\n38ls9DtyVA/4ewL66Wnw1EFTKc9pfsMmF7KvjTrZyWgSfulq1r1v0I17bqHk1QR1\nfGnOo3YUFifOZcB3kaM0m4CnIEov/8i0gGH2XnaNjWJGrnuLVC5m1NIMqZRd28hV\n3vuBPA0FB6stdjAG9vxz4S5MJAWpKkzK079KOQWr4p9HqpizMM6sg3WKT8Wtbi4U\nezB+Ame3SGLCWIQRNJfu8TWPG0oORAcqYl0/waIs+YWajzHjMI9t6BjrCA73Q6vw\nRX9nziPVRvq2bdjX6B+DkfKxL3KgA106wq7ppdUwKOAO/CxExBKIrYoBa3CwegyY\nc9Q7MkQAzlIUjj6x7jcqDNmVXkeAUn+TDTUsyrvg57eiBquVSb9YkZdQ3anuiH45\ntPNTmXG87sqkkimY5S2e8gzXx8WtW/IqPm6+FFzxyFvfqBQh9yDN2x3Degckv0BU\nJZg+bGsjC4DUu/Jfg+5XXM31PUnmetggFmO/RsvCzfgQIEtNlMTlSA3fB6/k5i+r\nC3V0w4tVL4Em1Iu963Q0eXuYceRojvDLgpEK/5rI6lAE+vHHpxRFYSyVRwxBndUP\n2dsbSLZopXoeq6SipVnFzh9pwSl2K+eExhdN68NvMLZRV89ElrBfCDCMjJWZuPtF\nxw5ebChaSD/m3JcupqVC+VnMsw58PIoQNyTxlMwzv7bejv6v+ZCT/yajWSD+2tZY\nbzDH4e17f1Ny4IBGK/aHRqMSAjPJCVE/J7ehhG54MlN4NaeiSxRCgB1lTJHfr0p2\nZNVL+5/tjVZaQklyxqxFXvTs+/vAcUjFVqqOeWDkMEZXpUuggFGW2Nnnabdx63w9\nkIVNtbjAx4iMBBSCXAU+9LzzWSC3kd188oV6PzJDQiVBDbjK5utkznxmfNUigeQO\n4dtq4ZdfL8wbRuobNHv6IqgdONAgf+QwNnlOCBeC/sSs5aaFiBrJgev+/TnDMVQG\nvm+vMG6CfLa8knQD+sgIXQ==\n\n-----END CERTIFICATE-----",
        "first_seen": "2026-03-03T11:49:15.000000Z",
        "last_seen": "2026-12-17T16:49:47.000000Z",
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
BecbfEfa-bDaE-DDBa-CEde-fbdeeADaCFeD
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/certificates/BecbfEfa-bDaE-DDBa-CEde-fbdeeADaCFeD" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

Detections

Manage your honeypot detections

List detections.

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

Retrieve all detections for the current company.

Headers

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

Query Parameters

filter[search]
string

Search across multiple fields (src_ip, src_hostname, src_mac, dst_ip, sensor, honeypot alias)

Example:
192.168
filter[sensor]
string

Filter by sensor type

Must be one of:
  • SSH
  • MSSQL
  • Blackhole
  • MySQL
  • SMB
  • FTP
  • UPnP
  • HTTP
  • Ping
  • Portscan
  • Modbus
Example:
Modbus
filter[honeypot_id]
string

Filter by honeypot UUID

Example:
550e8400-e29b-41d4-a716-446655440000
filter[honeypot_alias]
string

Filter by honeypot alias (partial match)

Example:
Production
filter[src_ip]
string

Filter by source IP (partial match)

Example:
192.168
filter[src_hostname]
string

Filter by reverse DNS hostname (partial match)

Example:
attacker.example.com
filter[marked_as_seen]
string

Filter by seen status

Must be one of:
  • true
  • false
Example:
true
include
string

Include related resources

Must be one of:
  • events
Example:
events
sort
string

Sort by field (prefix with - for descending)

Must be one of:
  • timestamp
  • -timestamp
Example:
-timestamp
page
integer

Page number

Example:
1
per_page
integer

Results per page (max 20)

Example:
10

Body Parameters

Response Fields

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/detections?filter%5Bsearch%5D=192.168&filter%5Bsensor%5D=Modbus&filter%5Bhoneypot_id%5D=550e8400-e29b-41d4-a716-446655440000&filter%5Bhoneypot_alias%5D=Production&filter%5Bsrc_ip%5D=192.168&filter%5Bsrc_hostname%5D=attacker.example.com&filter%5Bmarked_as_seen%5D=true&include=events&sort=-timestamp&page=1&per_page=10" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filter\": {
        \"search\": \"vgeryfys\",
        \"sensor\": \"SSH\",
        \"honeypot_id\": \"2b248f51-4681-3018-b1bd-ea5793c94dbb\",
        \"honeypot_alias\": \"cgkjeznasmayybsrn\",
        \"src_ip\": \"vlcnenisp\",
        \"src_hostname\": \"vhfntgsgfhsfdudjukmd\",
        \"marked_as_seen\": \"true\"
    },
    \"include\": \"events\",
    \"page\": 82,
    \"per_page\": 14,
    \"sort\": \"-timestamp\"
}"
Example response:
{
    "data": [
        {
            "id": "a2e63db6-3037-4d3c-b934-acf72c264494",
            "company_id": "c4f934d6-293f-4ebe-a01b-8d91375c6c35",
            "src_ip": "136.73.188.121",
            "dst_ip": "170.43.33.34",
            "sensor": "Modbus",
            "timestamp": "2026-09-14T13:18:47.000000Z",
            "marked_as_seen": true,
            "honeypot_id": "4024efeb-5bef-4872-a00e-403455672b48",
            "honeypot_alias": "Honeypot-HQ-28",
            "src_port": null,
            "src_hostname": null,
            "src_mac": "80:B9:CE:8B:D1:12",
            "dst_port": 36715
        },
        {
            "id": "a2e63db6-36c7-4ab7-8f7a-487c444e8b3b",
            "company_id": "245bf448-cebc-42fb-b61f-61f3e0516fff",
            "src_ip": "94.200.40.219",
            "dst_ip": "226.187.174.201",
            "sensor": "Modbus",
            "timestamp": "2025-02-20T18:11:34.000000Z",
            "marked_as_seen": true,
            "honeypot_id": "4a54e54c-86ff-457c-b460-46818664eb47",
            "honeypot_alias": "Honeypot-Office-90",
            "src_port": null,
            "src_hostname": null,
            "src_mac": "95:00:CE:16:11:25",
            "dst_port": 47088
        }
    ],
    "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
    }
}

Mark a detection as seen.

PATCH
https://api.securityhive.io
/v1/detections/{detection_id}/seen
requires authentication

Mark a single detection as seen. Idempotent - marking an already seen detection will succeed without side effects.

Headers

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

URL Parameters

detection_id
string
required

The ID of the detection.

Example:
a2e63db6-3037-4d3c-b934-acf72c264494
detection
string
required

The UUID of the detection to mark as seen

Example:
550e8400-e29b-41d4-a716-446655440000
Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/detections/a2e63db6-3037-4d3c-b934-acf72c264494/seen" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

Mark multiple detections as seen.

POST
https://api.securityhive.io
/v1/detections/mark-multiple-seen
requires authentication

Mark multiple detections as seen in a single request. If no detection IDs are provided, all unseen detections for the company will be marked as seen.

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/detections/mark-multiple-seen" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"detection_ids\": \"[\\\"550e8400-e29b-41d4-a716-446655440000\\\", \\\"550e8400-e29b-41d4-a716-446655440001\\\"]\"
}"
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:
doloremque
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/doloremque/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-N2g3alJAS0ezm1fotyheG0mm6ODfHIBkyLkDp7do' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-elem 'self' 'nonce-N2g3alJAS0ezm1fotyheG0mm6ODfHIBkyLkDp7do' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; img-src 'self' data: blob: https://*.intercomcdn.com https://*.intercomcdn.eu https://*.intercomassets.eu https://*.intercom-attachments.eu https://www.gravatar.com https://*.tile.openstreetmap.org; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://app.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost:8090; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com https://calendly.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data: https://*.intercomcdn.com; 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 https://calendly.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."
}

Honeypots

Manage your honeypots.

Create honeypot.

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

Will create a new honeypot for the current company.

Headers

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

Body Parameters

Response Fields

Example request:
curl --request POST \
    "https://api.securityhive.io/v1/honeypots" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"alias\": \"Internal Honeypot\"
}"
Example response:
{
    "data": {
        "id": "a84b43c2-772d-493e-9739-51d82ac8110b",
        "alias": "Honeypot-Branch-66",
        "status": 5,
        "activation_status": 1,
        "hostname": "honeypot-bmxo-217.example.com",
        "slane_enabled": true,
        "slane_connected": true,
        "paired": true,
        "provisioned": true,
        "dns1": "56.186.197.38",
        "dns2": "176.64.242.25",
        "configured_as": null,
        "notes": null,
        "checked_at": "2026-09-29T22:09:21.000000Z",
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.000000Z"
    }
}

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"
}

Test Integration Connection

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

Verify the stored configuration of an enabled integration against the remote system.

Headers

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

URL Parameters

integration
string
required

The ID of the enabled integration to test.

Example:
autem
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/integrations/autem/test" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "message": "Connection successful"
}
{
    "error": "Integration not enabled"
}
{
    "error": "This integration does not support connection tests"
}
{
    "error": "Connection failed. Please verify the configuration."
}
{
    "error": "Connected, but the ticket type \"Incidnt\" does not exist in HaloPSA."
}

Preview HaloPSA Options

POST
https://api.securityhive.io
/v1/integrations/halopsa/options
requires authentication

Load the HaloPSA ticket types, categories and clients with connection settings that have not been saved yet. Nothing is stored.

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/integrations/halopsa/options" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"base_url\": \"http:\\/\\/www.kuhic.com\\/\",
    \"auth_url\": \"http:\\/\\/www.quigley.com\\/voluptatibus-nobis-non-sed-excepturi.html\",
    \"tenant\": \"ijpsmnecybwlcv\",
    \"client_id\": \"nldjhyyvfgj\",
    \"client_secret\": \"at\"
}"
Example response:
{
    "ticket_types": [
        {
            "id": 20,
            "name": "Task"
        }
    ],
    "categories": [
        {
            "id": 219,
            "name": "Security>Phishing>Email Report"
        }
    ],
    "clients": [
        {
            "id": 12,
            "name": "Acme"
        }
    ]
}
{
    "error": "HaloPSA rejected the client ID or client secret. Please check the API application credentials."
}

Preview HaloPSA Sites

POST
https://api.securityhive.io
/v1/integrations/halopsa/options/sites
requires authentication

Load the sites of a HaloPSA client with connection settings that have not been saved yet. Nothing is stored.

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/integrations/halopsa/options/sites" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"base_url\": \"http:\\/\\/halvorson.com\\/\",
    \"auth_url\": \"http:\\/\\/www.kerluke.biz\\/ipsum-ducimus-impedit-error-ipsa-et-totam-fugit\",
    \"tenant\": \"qatmkgveheuwfcffup\",
    \"client_id\": \"qcaiwvpxcna\",
    \"client_secret\": \"consequatur\",
    \"halopsa_client_id\": 47
}"
Example response:
{
    "sites": [
        {
            "id": 18,
            "name": "EMEA"
        }
    ]
}

List HaloPSA Options

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

Load the HaloPSA ticket types, categories and clients with the saved credentials of an enabled HaloPSA integration.

Headers

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

URL Parameters

integration
string
required

The ID of the enabled HaloPSA integration.

Example:
perspiciatis
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/perspiciatis/options" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "ticket_types": [
        {
            "id": 20,
            "name": "Task"
        }
    ],
    "categories": [],
    "clients": [
        {
            "id": 12,
            "name": "Acme"
        }
    ]
}
{
    "error": "Integration not enabled"
}

List HaloPSA Sites

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

Load the sites of a HaloPSA client with the saved credentials of an enabled HaloPSA integration.

Headers

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

URL Parameters

integration
string
required

The ID of the enabled HaloPSA integration.

Example:
et

Query Parameters

halopsa_client_id
integer
required

The HaloPSA client ID.

Example:
12

Body Parameters

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/et/options/sites?halopsa_client_id=12" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"halopsa_client_id\": 49
}"
Example response:
{
    "sites": [
        {
            "id": 18,
            "name": "EMEA"
        }
    ]
}

Preview HaloPSA Ticket Type Requirements

POST
https://api.securityhive.io
/v1/integrations/halopsa/options/ticket-type-requirements
requires authentication

Report which of impact, urgency and category a HaloPSA ticket type makes mandatory, plus other mandatory fields SecurityHive cannot fill, with connection settings that have not been saved yet. Nothing is stored.

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/integrations/halopsa/options/ticket-type-requirements" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"base_url\": \"http:\\/\\/www.larson.com\\/natus-tenetur-qui-dolore-itaque-aliquid-quia-nobis\",
    \"auth_url\": \"https:\\/\\/www.murazik.info\\/quam-sint-deleniti-ipsum-in-consectetur\",
    \"tenant\": \"dpweogewrcigshwec\",
    \"client_id\": \"mvbeaxrifx\",
    \"client_secret\": \"sunt\",
    \"ticket_type_id\": 39
}"
Example response:
{
    "ticket_type_id": 1,
    "ticket_type_name": "Incident",
    "requires_impact": true,
    "requires_urgency": true,
    "requires_category": true,
    "unsupported_mandatory_fields": []
}

List HaloPSA Ticket Type Requirements

GET
https://api.securityhive.io
/v1/integrations/{integration}/options/ticket-type-requirements
requires authentication

Report which of impact, urgency and category a HaloPSA ticket type makes mandatory, using the saved credentials of an enabled HaloPSA integration.

Headers

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

URL Parameters

integration
string
required

The ID of the enabled HaloPSA integration.

Example:
aspernatur

Query Parameters

ticket_type_id
integer
required

The HaloPSA ticket type ID.

Example:
1

Body Parameters

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/aspernatur/options/ticket-type-requirements?ticket_type_id=1" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ticket_type_id\": 87
}"
Example response:
{
    "ticket_type_id": 1,
    "ticket_type_name": "Incident",
    "requires_impact": true,
    "requires_urgency": true,
    "requires_category": true,
    "unsupported_mandatory_fields": []
}

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": "b71f91f3-cd33-41c1-a1c4-21ff8a503f99",
        "company_id": "2202532",
        "managing_company_id": "2202532",
        "first_name": "Haleigh",
        "last_name": "Bergnaum",
        "two_factor_enabled": false,
        "two_factor_configured": false,
        "email": "[email protected]",
        "email_verified_at": "2026-10-04T07:06:54Z",
        "phonenumber": "260-604-8974",
        "phonenumber_verified_at": "2026-10-04T07:06:54Z",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "2202532",
                "uuid": "e99f24a4-dcd1-4b14-a7f6-27dd483c80bf",
                "name": "Effertz-Kuvalis"
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "abilities": [],
        "need_to_configure_2fa": false,
        "terms_agreed_at": "2026-10-04T07:06:54Z",
        "sso_provider": null,
        "created_at": "2026-10-04T07:06:54Z",
        "updated_at": "2026-10-04T07:06:55Z"
    },
    "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\": \"2026-10-04T07:06:55\",
    \"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:
sequi
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=sequi&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": "a2e63db6-beab-4ee0-b85a-21ccdfcd367b",
            "company_id": "1813858",
            "name": "a98a4522-e0a7-366b-a4bd-fe7d1c59f91f",
            "description": "Deleniti ut non quod aut libero. Nemo fugiat et in reiciendis ullam qui. Est debitis aut veritatis iste eum. Dolorum et velit illum quae ut tempore officia qui. Voluptas aut quasi minus.",
            "business_impact": "critical",
            "system_tag": true,
            "asset_count": 0,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z"
        },
        {
            "id": "a2e63db6-c1bb-4471-9223-27eb4f627930",
            "company_id": "3676369",
            "name": "a8598dda-5329-35f5-89db-093f851c2b1a",
            "description": "Qui in aut non autem. Voluptatem est ut tenetur sunt soluta. Facilis dignissimos molestiae laudantium repellendus aperiam quaerat provident aut. Aut vitae voluptates non et.",
            "business_impact": "low",
            "system_tag": false,
            "asset_count": 0,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.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\": \"vzogmjtanqxye\",
    \"description\": \"A in maiores aut suscipit ratione commodi similique dolor.\",
    \"business_impact\": \"medium\"
}"
Example response:
{
    "data": {
        "id": "a2e63db6-c772-4e8e-83f0-79890978345a",
        "company_id": "8475977",
        "name": "f6d8f4d1-2adb-32dd-a24b-eb372c322a4c",
        "description": "Ratione sit est deserunt possimus in quia. Tempora tempora quidem ut a recusandae voluptatem quis et. Et pariatur ipsam et nobis voluptatem sit aliquid fugit. Vel in ipsam maxime.",
        "business_impact": "low",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
FbcebEfc-ABBA-Aaac-EeEc-fdddEcdFBDAb

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/FbcebEfc-ABBA-Aaac-EeEc-fdddEcdFBDAb?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db6-cc1e-4bf3-9002-524dc24c600f",
        "company_id": "914639",
        "name": "5f3e5753-d1f7-3fb8-8f9b-90f2303bec8e",
        "description": "Voluptatem quia nostrum iure ut iusto. Nihil eum totam nulla sint adipisci doloremque. Et et esse ea neque voluptates enim aut. Enim debitis aut ab debitis cupiditate rerum.",
        "business_impact": "medium",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
ecBBBBCb-EaDB-CcDF-Bddd-DAAEBDccEdBF

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/tags/ecBBBBCb-EaDB-CcDF-Bddd-DAAEBDccEdBF" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"cco\",
    \"description\": \"Aut odit eaque est error rerum assumenda.\",
    \"business_impact\": \"high\"
}"
Example response:
{
    "data": {
        "id": "a2e63db6-d11b-40d6-aaa1-fd13c8923559",
        "company_id": "8508375",
        "name": "80ed9c4d-8a16-3d4c-97bd-cb3837956722",
        "description": "Tenetur voluptas est ea non aperiam. Ab ut eum repellat. Accusantium velit voluptates praesentium iste ullam aut harum.",
        "business_impact": "medium",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
BAddFAdd-Eabe-CFaB-aACD-DdbeFCEBdcCa
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/tags/BAddFAdd-Eabe-CFaB-aACD-DdbeFCEBdcCa" \
    --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": "f8a93ab0-d1ef-4841-ba20-bfff5c24f04d",
            "company_id": "2762945",
            "managing_company_id": "2762945",
            "first_name": "Fabiola",
            "last_name": "Kovacek",
            "two_factor_enabled": false,
            "email": "[email protected]",
            "email_verified_at": "2026-10-04T07:06:55.000000Z",
            "phonenumber": "1-630-237-6599",
            "phonenumber_verified_at": "2026-10-04T07:06:55.000000Z",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "2762945",
                    "uuid": "01ad3569-e212-405e-8fc9-da0e918c138e",
                    "name": "Anderson, Nienow and Weissnat"
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "terms_agreed_at": "2026-10-04T07:06:55.000000Z",
            "sso_provider": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z",
            "last_login_at": null
        },
        {
            "id": "7c9039c9-4406-49cb-b40e-d3fd8fc5bcd1",
            "company_id": "8567447",
            "managing_company_id": "8567447",
            "first_name": "Sammie",
            "last_name": "Bins",
            "two_factor_enabled": false,
            "email": "[email protected]",
            "email_verified_at": "2026-10-04T07:06:55.000000Z",
            "phonenumber": "(585) 352-6722",
            "phonenumber_verified_at": "2026-10-04T07:06:55.000000Z",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "8567447",
                    "uuid": "3c3724c0-d191-4f88-afdc-af8aa177a647",
                    "name": "D'Amore PLC"
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "terms_agreed_at": "2026-10-04T07:06:55.000000Z",
            "sso_provider": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:56.000000Z",
            "last_login_at": null
        }
    ],
    "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\": \"mypvazwfyvyupioj\",
    \"last_name\": \"sj\",
    \"email\": \"[email protected]\",
    \"phonenumber\": \"+31612345678\",
    \"report_interval\": \"disabled\",
    \"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:
7702c563-f640-382f-98e1-d5fb0456fab3

Query Parameters

include
string

Include additional relationships (comma separated).

Must be one of:
  • company
  • company.type
  • company.partner
  • managingCompany
  • managingCompany.type
  • managingCompany.partner
Example:
company
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/users/7702c563-f640-382f-98e1-d5fb0456fab3?include=company" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "7e11f60c-933c-4853-8c1c-91d66233610e",
        "company_id": "8475543",
        "managing_company_id": "8475543",
        "first_name": "Cecelia",
        "last_name": "Romaguera",
        "two_factor_enabled": false,
        "email": "[email protected]",
        "email_verified_at": "2026-10-04T07:06:56.000000Z",
        "phonenumber": "+1-480-718-5853",
        "phonenumber_verified_at": "2026-10-04T07:06:56.000000Z",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "8475543",
                "uuid": "e687ac75-1803-4d8c-87f7-edd117f99a8f",
                "name": "Langosh-Lindgren"
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "terms_agreed_at": "2026-10-04T07:06:56.000000Z",
        "sso_provider": null,
        "created_at": "2026-10-04T07:06:56.000000Z",
        "updated_at": "2026-10-04T07:06:56.000000Z",
        "last_login_at": null
    }
}
{
    "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:
47aa0aa1-21ad-3f86-ad10-dfca150b71a8

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/users/47aa0aa1-21ad-3f86-ad10-dfca150b71a8" \
    --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:
Accepted
filter[threat]
Filter vulnerabilities by their threat level
Must be one of:
  • Log
  • Low
  • Medium
  • High
  • Critical
Example:
High
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=Accepted&filter%5Bthreat%5D=High&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\": \"oscldwmlsmvjpfmzcstt\",
        \"threat_level\": \"High\",
        \"host\": \"samqp\",
        \"hostname\": \"maqhunfaxizwjl\",
        \"status\": \"Expired\",
        \"scan_id\": \"526e5788-a8e8-3e04-b7de-e331a41a59f7\"
    },
    \"per_page\": 20
}"
Example response:
{
    "data": [
        {
            "id": "a2e63db6-5c74-4399-ba9f-e0c828250faf",
            "asset_id": "a2e63db6-4d6f-4c67-ae79-0b0f8c99eabe",
            "company_id": "6345279",
            "vulnerability_definition_id": "a2e63db6-5abe-4d76-8696-9bc60973db4b",
            "vulnerability_definition": {
                "id": "a2e63db6-5abe-4d76-8696-9bc60973db4b",
                "name": "Unnecessary Services Enabled via aperiam input",
                "description": "Sit pariatur dolorum voluptas error voluptas voluptatibus veritatis. Numquam ut cum maxime placeat temporibus accusamus. Sunt minima cum quis cum et neque quia.",
                "solution": "Repellendus sit itaque veniam error sapiente vel rerum voluptas. In qui asperiores quia id aut voluptates.",
                "category": "Unnecessary Services Enabled",
                "threat_level": "Medium",
                "definition_type": "openvas",
                "definition": {
                    "id": "a2e63db6-5693-4cd0-8c0b-7fb16a6ce872",
                    "o_id": "0ccf1f01-c3af-32df-8eef-fc3055fe9519",
                    "name": "Unnecessary Services Enabled via aperiam input",
                    "family": "Unnecessary Services Enabled",
                    "reference_urls": "http://www.wilkinson.com/quaerat-illum-consequatur-itaque, https://wisozk.org/consequatur-est-modi-minima-velit-maiores-quibusdam.html",
                    "reference_cves": "CVE-2016-3230, CVE-2015-8933",
                    "solution_type": "Configuration Change",
                    "solution_description": "Repellendus sit itaque veniam error sapiente vel rerum voluptas. In qui asperiores quia id aut voluptates.",
                    "summary": "Sit pariatur dolorum voluptas error voluptas voluptatibus veritatis. Numquam ut cum maxime placeat temporibus accusamus. Sunt minima cum quis cum et neque quia.",
                    "insight": "Illum quas doloremque inventore tempora accusamus. Commodi eos quia dolor aut numquam ipsum temporibus. Molestiae aut sequi totam quasi id blanditiis. Accusantium cupiditate itaque iste illum harum at maiores.",
                    "affected": "Quo provident pariatur reiciendis esse excepturi sed. Nesciunt pariatur voluptatem amet dignissimos amet blanditiis. Est est ad dolorem dignissimos.",
                    "impact": "Aut numquam quasi accusantium nam. Ut aut quo voluptas facilis est voluptatem. Eius vitae est labore a velit praesentium. Sapiente molestiae rerum incidunt eius et officiis. Eos in temporibus ut et qui quia sed error. Ab vel ex quo et quo.",
                    "vuldetect": "Itaque totam accusamus animi. Perferendis est ut optio laborum ipsa sit distinctio voluptates. Aliquam hic quae totam ducimus eos. Neque officia quos impedit alias rerum et.",
                    "priority": "Log",
                    "qod_type": "remote_active",
                    "qod_value": 72
                },
                "cvss_base_score": 7.1,
                "cvss_base_vector": "AV:N/AC:L/Au:S/C:N/I:P/A:N",
                "epss": null,
                "created_at": "2026-10-04T07:06:55.000000Z",
                "updated_at": "2026-10-04T07:06:55.000000Z"
            },
            "host": "118.135.206.254",
            "hostname": "wintheiser.com",
            "port": "24370/tcp",
            "details": "Reiciendis quaerat dolor fuga illo architecto ducimus. Delectus qui optio rerum rerum velit deleniti perspiciatis. Vitae eos itaque sint laudantium consequatur.",
            "status": "Unresolved",
            "first_seen": "2025-11-09T17:18:24.000000Z",
            "last_seen": "2026-07-19T06:54:37.000000Z",
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z",
            "name": "Unnecessary Services Enabled via aperiam input",
            "description": "Reiciendis quaerat dolor fuga illo architecto ducimus. Delectus qui optio rerum rerum velit deleniti perspiciatis. Vitae eos itaque sint laudantium consequatur.",
            "cvss_base_score": 7.1,
            "cvss_base_vector": "AV:N/AC:L/Au:S/C:N/I:P/A:N",
            "qod_type": "remote_active",
            "qod_value": 72,
            "threat": "Medium",
            "scanner_id": null,
            "scanner_hostname": null,
            "plugin": {
                "id": "a2e63db6-5693-4cd0-8c0b-7fb16a6ce872",
                "o_id": "0ccf1f01-c3af-32df-8eef-fc3055fe9519",
                "name": "Unnecessary Services Enabled via aperiam input",
                "family": "Unnecessary Services Enabled",
                "reference_urls": "http://www.wilkinson.com/quaerat-illum-consequatur-itaque, https://wisozk.org/consequatur-est-modi-minima-velit-maiores-quibusdam.html",
                "reference_cves": "CVE-2016-3230, CVE-2015-8933",
                "solution_type": "Configuration Change",
                "solution_description": "Repellendus sit itaque veniam error sapiente vel rerum voluptas. In qui asperiores quia id aut voluptates.",
                "summary": "Sit pariatur dolorum voluptas error voluptas voluptatibus veritatis. Numquam ut cum maxime placeat temporibus accusamus. Sunt minima cum quis cum et neque quia.",
                "insight": "Illum quas doloremque inventore tempora accusamus. Commodi eos quia dolor aut numquam ipsum temporibus. Molestiae aut sequi totam quasi id blanditiis. Accusantium cupiditate itaque iste illum harum at maiores.",
                "affected": "Quo provident pariatur reiciendis esse excepturi sed. Nesciunt pariatur voluptatem amet dignissimos amet blanditiis. Est est ad dolorem dignissimos.",
                "impact": "Aut numquam quasi accusantium nam. Ut aut quo voluptas facilis est voluptatem. Eius vitae est labore a velit praesentium. Sapiente molestiae rerum incidunt eius et officiis. Eos in temporibus ut et qui quia sed error. Ab vel ex quo et quo.",
                "vuldetect": "Itaque totam accusamus animi. Perferendis est ut optio laborum ipsa sit distinctio voluptates. Aliquam hic quae totam ducimus eos. Neque officia quos impedit alias rerum et.",
                "priority": "Log",
                "qod_type": "remote_active",
                "qod_value": 72
            }
        },
        {
            "id": "a2e63db6-6891-4ce5-9d4b-1aaf9965bc99",
            "asset_id": "a2e63db6-63b5-4069-b14f-342917733a93",
            "company_id": "7041783",
            "vulnerability_definition_id": "a2e63db6-6806-4db1-a182-5fde90f3a554",
            "vulnerability_definition": {
                "id": "a2e63db6-6806-4db1-a182-5fde90f3a554",
                "name": "9 in quam",
                "description": "Id accusantium a corporis esse consequatur. Ipsum rerum non aut. Praesentium quis dolores rerum a. Natus nam et vel est cumque est ut.",
                "solution": "Soluta nemo officiis voluptatem. Voluptatem repellat distinctio nulla occaecati. Eligendi rerum quos deserunt quis esse modi dolorem.",
                "category": "9",
                "threat_level": "High",
                "definition_type": "openvas",
                "definition": {
                    "id": "a2e63db6-66aa-4ddd-b41d-8f721c11e8aa",
                    "o_id": "13901000-a2bf-31c2-9265-1fa379a51035",
                    "name": "9 in quam",
                    "family": "9",
                    "reference_urls": "http://hermann.com/perspiciatis-consectetur-dolorem-eum-veniam-consequuntur.html, http://collins.com/",
                    "reference_cves": "CVE-2021-2295, CVE-2019-7338",
                    "solution_type": "WorkAround",
                    "solution_description": "Soluta nemo officiis voluptatem. Voluptatem repellat distinctio nulla occaecati. Eligendi rerum quos deserunt quis esse modi dolorem.",
                    "summary": "Id accusantium a corporis esse consequatur. Ipsum rerum non aut. Praesentium quis dolores rerum a. Natus nam et vel est cumque est ut.",
                    "insight": "Hic qui similique dolorem aut. Est dolor cumque qui non. Eos corrupti nulla laboriosam et. At veritatis quaerat autem eius.",
                    "affected": "Ullam totam reprehenderit eveniet. Laborum quibusdam quis corrupti cum ratione soluta consequatur. Vel tenetur voluptatem dolor et asperiores.",
                    "impact": "Sapiente quaerat quibusdam beatae excepturi. Voluptas id ex provident illum. Consequatur aut sunt ab quas similique. Laborum aut ipsa nihil quo qui totam ullam.",
                    "vuldetect": "Repellat voluptas facere necessitatibus eos quibusdam non dicta esse. Illo placeat tempore velit corporis laudantium. Ut doloribus quo sed.",
                    "priority": "Low",
                    "qod_type": "remote_banner",
                    "qod_value": 25
                },
                "cvss_base_score": 2.1,
                "cvss_base_vector": "AV:A/AC:H/Au:M/C:N/I:N/A:N",
                "epss": null,
                "created_at": "2026-10-04T07:06:55.000000Z",
                "updated_at": "2026-10-04T07:06:55.000000Z"
            },
            "host": "231.40.193.2",
            "hostname": "weissnat.org",
            "port": "5432/tcp",
            "details": "Autem dolorum nisi in quidem. Veritatis quae nulla quae exercitationem iste. Voluptas sunt iste consequuntur dolorum cumque non. Aliquam voluptate temporibus occaecati incidunt quod nulla.",
            "status": "Expired",
            "first_seen": "2026-06-19T07:28:05.000000Z",
            "last_seen": "2026-07-18T04:26:26.000000Z",
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z",
            "name": "9 in quam",
            "description": "Autem dolorum nisi in quidem. Veritatis quae nulla quae exercitationem iste. Voluptas sunt iste consequuntur dolorum cumque non. Aliquam voluptate temporibus occaecati incidunt quod nulla.",
            "cvss_base_score": 2.1,
            "cvss_base_vector": "AV:A/AC:H/Au:M/C:N/I:N/A:N",
            "qod_type": "remote_banner",
            "qod_value": 25,
            "threat": "High",
            "scanner_id": null,
            "scanner_hostname": null,
            "plugin": {
                "id": "a2e63db6-66aa-4ddd-b41d-8f721c11e8aa",
                "o_id": "13901000-a2bf-31c2-9265-1fa379a51035",
                "name": "9 in quam",
                "family": "9",
                "reference_urls": "http://hermann.com/perspiciatis-consectetur-dolorem-eum-veniam-consequuntur.html, http://collins.com/",
                "reference_cves": "CVE-2021-2295, CVE-2019-7338",
                "solution_type": "WorkAround",
                "solution_description": "Soluta nemo officiis voluptatem. Voluptatem repellat distinctio nulla occaecati. Eligendi rerum quos deserunt quis esse modi dolorem.",
                "summary": "Id accusantium a corporis esse consequatur. Ipsum rerum non aut. Praesentium quis dolores rerum a. Natus nam et vel est cumque est ut.",
                "insight": "Hic qui similique dolorem aut. Est dolor cumque qui non. Eos corrupti nulla laboriosam et. At veritatis quaerat autem eius.",
                "affected": "Ullam totam reprehenderit eveniet. Laborum quibusdam quis corrupti cum ratione soluta consequatur. Vel tenetur voluptatem dolor et asperiores.",
                "impact": "Sapiente quaerat quibusdam beatae excepturi. Voluptas id ex provident illum. Consequatur aut sunt ab quas similique. Laborum aut ipsa nihil quo qui totam ullam.",
                "vuldetect": "Repellat voluptas facere necessitatibus eos quibusdam non dicta esse. Illo placeat tempore velit corporis laudantium. Ut doloribus quo sed.",
                "priority": "Low",
                "qod_type": "remote_banner",
                "qod_value": 25
            }
        }
    ],
    "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:
dCcadbfb-eFdd-cfbf-Aedd-EdbfDaAcafbb
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/vulnerabilities/dCcadbfb-eFdd-cfbf-Aedd-EdbfDaAcafbb" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db6-793b-4cf4-b853-24ee19997858",
        "asset_id": "a2e63db6-7445-40be-a106-cdbb670e95c3",
        "company_id": "4249337",
        "vulnerability_definition_id": "a2e63db6-78a4-432d-8e9f-147bee881b2a",
        "vulnerability_definition": {
            "id": "a2e63db6-78a4-432d-8e9f-147bee881b2a",
            "name": "7 in et",
            "description": "Amet esse sint doloremque voluptas. Officia consequatur incidunt velit eum soluta eos. Non illo dolor iusto est.",
            "solution": "Consequatur et vitae laudantium qui perferendis voluptatem et. Cupiditate totam ipsum officiis et debitis. Minima nulla tempore sed aut excepturi. Quis eos est sit quo consequatur sit.",
            "category": "7",
            "threat_level": "Medium",
            "definition_type": "openvas",
            "definition": {
                "id": "a2e63db6-7748-4b57-9650-82169b0adc5c",
                "o_id": "26f3e09e-da59-376b-b59c-5d86299a23fb",
                "name": "7 in et",
                "family": "7",
                "reference_urls": "http://effertz.com/occaecati-non-error-dolores-dignissimos-et-corporis-et, http://jacobson.info/saepe-dolor-optio-deleniti-optio-fuga-voluptas-repudiandae.html",
                "reference_cves": "CVE-2017-2177, CVE-2021-9054",
                "solution_type": "WorkAround",
                "solution_description": "Consequatur et vitae laudantium qui perferendis voluptatem et. Cupiditate totam ipsum officiis et debitis. Minima nulla tempore sed aut excepturi. Quis eos est sit quo consequatur sit.",
                "summary": "Amet esse sint doloremque voluptas. Officia consequatur incidunt velit eum soluta eos. Non illo dolor iusto est.",
                "insight": "Rerum rerum quod aut facere non vitae. Et veniam perferendis est voluptate dolorem harum. Et qui soluta aut repellat esse velit in. In repellat voluptatem qui adipisci molestiae incidunt minus velit. Perspiciatis odio et dolores aliquam.",
                "affected": "Nisi sunt enim quaerat ducimus repellat. Eaque aut a sapiente sed aliquam soluta repellendus et. Aliquid facilis odit eius quasi libero ipsum.",
                "impact": "Quisquam maiores ullam quasi voluptatum eius sed. Eum illo error asperiores nulla voluptatem qui eum. Dolor et et tenetur aspernatur delectus. Placeat iure non sed consectetur voluptatem.",
                "vuldetect": "Qui nihil nostrum veritatis eos placeat architecto et. Aut deleniti commodi ut quaerat est. Similique vel doloribus velit qui qui et. Possimus consequatur possimus doloribus.",
                "priority": "High",
                "qod_type": "registry",
                "qod_value": 80
            },
            "cvss_base_score": 1.8,
            "cvss_base_vector": "AV:L/AC:L/Au:S/C:P/I:P/A:P",
            "epss": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z"
        },
        "host": "233.26.142.132",
        "hostname": "murray.net",
        "port": "5432/tcp",
        "details": "Similique nisi reprehenderit id doloribus. Ut temporibus amet similique qui hic eius eligendi. Est nihil nesciunt deleniti dolores dicta.",
        "status": "Detected",
        "first_seen": "2025-12-14T14:03:12.000000Z",
        "last_seen": "2026-09-18T18:25:46.000000Z",
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.000000Z",
        "name": "7 in et",
        "description": "Similique nisi reprehenderit id doloribus. Ut temporibus amet similique qui hic eius eligendi. Est nihil nesciunt deleniti dolores dicta.",
        "cvss_base_score": 1.8,
        "cvss_base_vector": "AV:L/AC:L/Au:S/C:P/I:P/A:P",
        "qod_type": "registry",
        "qod_value": 80,
        "threat": "Medium",
        "scanner_id": null,
        "scanner_hostname": null,
        "plugin": {
            "id": "a2e63db6-7748-4b57-9650-82169b0adc5c",
            "o_id": "26f3e09e-da59-376b-b59c-5d86299a23fb",
            "name": "7 in et",
            "family": "7",
            "reference_urls": "http://effertz.com/occaecati-non-error-dolores-dignissimos-et-corporis-et, http://jacobson.info/saepe-dolor-optio-deleniti-optio-fuga-voluptas-repudiandae.html",
            "reference_cves": "CVE-2017-2177, CVE-2021-9054",
            "solution_type": "WorkAround",
            "solution_description": "Consequatur et vitae laudantium qui perferendis voluptatem et. Cupiditate totam ipsum officiis et debitis. Minima nulla tempore sed aut excepturi. Quis eos est sit quo consequatur sit.",
            "summary": "Amet esse sint doloremque voluptas. Officia consequatur incidunt velit eum soluta eos. Non illo dolor iusto est.",
            "insight": "Rerum rerum quod aut facere non vitae. Et veniam perferendis est voluptate dolorem harum. Et qui soluta aut repellat esse velit in. In repellat voluptatem qui adipisci molestiae incidunt minus velit. Perspiciatis odio et dolores aliquam.",
            "affected": "Nisi sunt enim quaerat ducimus repellat. Eaque aut a sapiente sed aliquam soluta repellendus et. Aliquid facilis odit eius quasi libero ipsum.",
            "impact": "Quisquam maiores ullam quasi voluptatum eius sed. Eum illo error asperiores nulla voluptatem qui eum. Dolor et et tenetur aspernatur delectus. Placeat iure non sed consectetur voluptatem.",
            "vuldetect": "Qui nihil nostrum veritatis eos placeat architecto et. Aut deleniti commodi ut quaerat est. Similique vel doloribus velit qui qui et. Possimus consequatur possimus doloribus.",
            "priority": "High",
            "qod_type": "registry",
            "qod_value": 80
        }
    }
}

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:
event
filter
string

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

Must be one of:
  • webhook_id
  • event
  • status
Example:
event
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events?sort=event&filter=event" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a2e63db6-08e8-4d94-856d-3c2f564c1270",
            "webhook_id": "a2e63db6-0804-41d9-af5e-a9bb7dcdc061",
            "event": "cum",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z"
        },
        {
            "id": "a2e63db6-0ca3-4c34-8ea7-b41443e098bb",
            "webhook_id": "a2e63db6-0bf5-49b3-ade1-c6902e192cf8",
            "event": "quo",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.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-F4uEs09PTqRN8i5aYkKSY6a4WaeM4dsKriV7utA5' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-elem 'self' 'nonce-F4uEs09PTqRN8i5aYkKSY6a4WaeM4dsKriV7utA5' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com https://unpkg.com https://cdn.jsdelivr.net https://medv.io https://assets.calendly.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com https://unpkg.com; img-src 'self' data: blob: https://*.intercomcdn.com https://*.intercomcdn.eu https://*.intercomassets.eu https://*.intercom-attachments.eu https://www.gravatar.com https://*.tile.openstreetmap.org; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://app.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost:8090; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com https://calendly.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data: https://*.intercomcdn.com; 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 https://calendly.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:
a2e63db6-08e8-4d94-856d-3c2f564c1270
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events/a2e63db6-08e8-4d94-856d-3c2f564c1270" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db6-197b-4b0f-9183-b8627ff803db",
        "webhook_id": "a2e63db6-18c8-4579-bf89-863cfac0db0a",
        "event": "saepe",
        "payload": {
            "key": "value"
        },
        "status": "pending",
        "retries": 0,
        "next_retry_at": null,
        "last_sent_at": null,
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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": "a2e63db5-ebb2-4061-af6a-414219c8d72a",
            "company_id": "35fdc354-f407-4a8c-88fd-d3cc8e1df3f1",
            "url": "https://russel.com",
            "description": null,
            "events": [],
            "secret": "90ab6457fc68574e3a831d7b0f697416ee96f98addfb552fc32765f8a2707d33",
            "last_sent_at": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.000000Z"
        },
        {
            "id": "a2e63db5-f013-41d1-9a62-d40bbc47a423",
            "company_id": "4de45b70-fc9c-40d3-a3c9-57c159fc9ce4",
            "url": "https://walter.biz",
            "description": null,
            "events": [],
            "secret": "55a552abab156152ae97039eca1fb442dc97e7033b903fc149a835e7795d0962",
            "last_sent_at": null,
            "created_at": "2026-10-04T07:06:55.000000Z",
            "updated_at": "2026-10-04T07:06:55.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\": \"http:\\/\\/www.wuckert.biz\\/\",
    \"description\": \"Voluptatem rem aut aut eum.\"
}"
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:
a2e63db5-ebb2-4061-af6a-414219c8d72a
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhooks/a2e63db5-ebb2-4061-af6a-414219c8d72a" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db5-f8b8-4df6-86e9-c3fc440b5cb0",
        "company_id": "fa3aa01f-6ff7-47a1-97db-ec41061c7e61",
        "url": "https://hermiston.com",
        "description": null,
        "events": [],
        "secret": "a39208f1a73f8bd05a3564a5d07662b626ab31d25a221cabb743ab702192c6ff",
        "last_sent_at": null,
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
a2e63db5-ebb2-4061-af6a-414219c8d72a
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/a2e63db5-ebb2-4061-af6a-414219c8d72a/rotate-secret" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a2e63db5-fd73-46f2-8cb8-dca9d11cc944",
        "company_id": "880ce757-f8e2-42e1-9555-7d18fb86da9c",
        "url": "https://crooks.biz",
        "description": null,
        "events": [],
        "secret": "3596c55e1f6ce40117ae0084899cbe7b742e3fedb0a45cfe4292912ef5f5ff16",
        "last_sent_at": null,
        "created_at": "2026-10-04T07:06:55.000000Z",
        "updated_at": "2026-10-04T07:06:55.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:
a2e63db5-ebb2-4061-af6a-414219c8d72a
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/a2e63db5-ebb2-4061-af6a-414219c8d72a/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:
a2e63db5-ebb2-4061-af6a-414219c8d72a

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/webhooks/a2e63db5-ebb2-4061-af6a-414219c8d72a" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/hilpert.com\\/perspiciatis-velit-esse-illo\",
    \"description\": \"Quasi enim est quaerat sed autem quis est iste.\"
}"
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:
a2e63db5-ebb2-4061-af6a-414219c8d72a
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/webhooks/a2e63db5-ebb2-4061-af6a-414219c8d72a" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "message": "webhook not found"
}