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:
product
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=product&include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9e133fe6-f4ca-44e7-9783-9760fd03d873",
            "cpe": "cpe:2.3:a:oracle:java:*:*:*:*:*:*:*:*",
            "vendor": "Oracle",
            "product": "Java",
            "version": "16.71.3493",
            "update": "sp1",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.000000Z"
        },
        {
            "id": "9e133fe6-f5c2-407e-beb7-2b28afd39adc",
            "cpe": "cpe:2.3:a:cisco:jabber:*:*:*:*:*:*:*:*",
            "vendor": "Cisco",
            "product": "Jabber",
            "version": "3.88.799",
            "update": "sp2",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Export applications.

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

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

Headers

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

Query Parameters

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

Body Parameters

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/applications/export?type=csv&filter%5Bvendor%5D=microsoft&filter%5Bproduct%5D=windows&filter%5Bversion%5D=1.2.0&sort=product" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"csv\"
}"
Example response:
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    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:
iure

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/iure?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe6-f9f4-40ac-8c6b-1329ad7ed784",
        "cpe": "cpe:2.3:a:apple:iwork:*:*:*:*:*:*:*:*",
        "vendor": "Apple",
        "product": "iWork",
        "version": "1.85.4414",
        "update": "hotfix1",
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.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
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-name
Must be one of:
  • name
  • host
  • last_seen
Example:
last_seen
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&sort=last_seen&include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9e133fe6-b79e-4cd5-b985-ff194fa1015a",
            "company_id": "2998703",
            "name": "Dr. Gina Huel MD",
            "identifier": "07:BE:80:E4:E4:AB",
            "host": "94.39.233.9",
            "mac_address": "07:BE:80:E4:E4:AB",
            "hostname": "trantow.com",
            "operating_system": "illo",
            "operating_system_name": "aut",
            "first_seen": "2012-08-21T03:31:22.000000Z",
            "last_seen": "1991-06-28T23:55:49.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [
                ""
            ],
            "ssh_key": null,
            "average_scan_duration": 0,
            "scans": []
        },
        {
            "id": "9e133fe6-b9f7-4074-8ef4-1df6bfddbc6e",
            "company_id": "5655109",
            "name": "Juvenal Kovacek",
            "identifier": "D9:9F:EE:F3:56:1F",
            "host": "161.112.219.207",
            "mac_address": "D9:9F:EE:F3:56:1F",
            "hostname": "nader.com",
            "operating_system": "totam",
            "operating_system_name": "assumenda",
            "first_seen": "2006-06-18T09:43:50.000000Z",
            "last_seen": "2008-05-02T16:12:28.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [
                ""
            ],
            "ssh_key": null,
            "average_scan_duration": 0,
            "scans": []
        }
    ],
    "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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Export assets.

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

Export all assets 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[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 with these tags.
Example:
New,Old
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/assets/export?type=csv&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" \
    --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
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Unauthenticated."
}

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\": \"delete\",
            \"id\": \"vero\",
            \"data\": {
                \"tags\": []
            }
        }
    ]
}"
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\": \"vcmgiwddxowjb\",
    \"host\": \"quas\"
}"
Example response:
{
    "data": {
        "id": "9e133fe6-c359-4aea-aa8f-5dfea49837f9",
        "company_id": "2759086",
        "name": "Prof. Maryam Lind V",
        "identifier": "B8:4B:6D:B7:14:8D",
        "host": "51.15.34.142",
        "mac_address": "B8:4B:6D:B7:14:8D",
        "hostname": "keeling.com",
        "operating_system": "fuga",
        "operating_system_name": "quas",
        "first_seen": "1991-08-19T03:23:43.000000Z",
        "last_seen": "1971-08-10T08:18:50.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [
            ""
        ],
        "ssh_key": null,
        "average_scan_duration": 0,
        "scans": []
    }
}
{
    "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:
aperiam

Query Parameters

include
Include additional relationships (comma separated).
Must be one of:
  • certificates
  • software
  • tags
  • scans
Example:
certificates
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/assets/aperiam?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe6-c714-410a-9ef3-cfe2f422944f",
        "company_id": "9120515",
        "name": "Alberta Schroeder",
        "identifier": "61:D5:B4:FA:CE:94",
        "host": "120.208.125.113",
        "mac_address": "61:D5:B4:FA:CE:94",
        "hostname": "wintheiser.org",
        "operating_system": "unde",
        "operating_system_name": "beatae",
        "first_seen": "2003-10-16T12:15:41.000000Z",
        "last_seen": "1986-02-21T11:49:57.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [
            ""
        ],
        "ssh_key": null,
        "average_scan_duration": 0,
        "scans": []
    }
}

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:
similique

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/assets/similique" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"mhjkpievdgabf\"
}"
Example response:
{
    "data": {
        "id": "9e133fe6-cb3b-4e80-9ac9-4e88aca698aa",
        "company_id": "9180670",
        "name": "Prof. Amy Wilkinson",
        "identifier": "39:DA:A2:B7:7B:76",
        "host": "142.184.63.153",
        "mac_address": "39:DA:A2:B7:7B:76",
        "hostname": "feil.net",
        "operating_system": "ut",
        "operating_system_name": "recusandae",
        "first_seen": "1982-11-05T04:47:08.000000Z",
        "last_seen": "1972-10-24T23:43:32.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [
            ""
        ],
        "ssh_key": null,
        "average_scan_duration": 0,
        "scans": []
    }
}
{
    "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:
rerum
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/assets/rerum" \
    --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:
tags
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=tags" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9e133fe6-d1ed-4523-9e08-a03d3d3c651f",
            "company_id": "3314141",
            "common_name": "west.com",
            "organization": null,
            "organizational_unit": null,
            "locality": null,
            "state": "South Carolina",
            "country": "SG",
            "serial": "VAJJIJ8QZTFQHTQUK2VPYY594UT2MYVM",
            "not_valid_before": "20230818T121117Z",
            "not_valid_after": "20260707T154834Z",
            "value": "-----BEGIN CERTIFICATE-----\nQw3KdbMsV/0nILRSSNkMsoAV6wyO5q+jXPXQig4PgMbfIQuzsaCdirZ2V/6WvLGn\ncssf8yaTfpEQKzVM3xD9jY+U4n4UYtPD9ipaq4NzI9qeyobiFmy+K92+ngKXgeAu\n3DUZXeXQLPpc6MczFk/kIUDLK24+qm+A/fvmzq+bpb54sojgqyuP6mIBeujDpJZk\nKhlI2W7Vp1ydA8LUx3dbJ8zfkUZ0f7s6SevWqaszYjOmXxa6leDVXdd/Wt/pylTJ\nxFSnR24gmYD3namYohEehWm10HNktwB1l33uLkPGvQjZac4EmdxUXqVGcinvx7LE\nzfHA/eAtR73OXko0GsOynp9wHP90tWYQeKtUFzA1ihYBzsn3C0mA5yYYO62J9P0b\nMlMX8TZ6T+hh+hrAljfIt7eu0hu+d2w3T6i5JCa2sNlHHckzoCAJJ5OcK5hniiKr\nL+FsB9G03n/aV+yCrYndswbK0QNP8CQK3mFSRLwkWXSgL9wLwSkHMMA40MgdpCVW\nGDjWPa3pBordJkhzJyjAHN1PQvodWYST4qmnR8TgRRxUFV2AWPAT8ZAnkJ8kqMN/\n5H/t91th3rqeer2t92SQYBYjjUztsMYTfnp3FT3ogGdxPH2oDvRxR2mTgZ3j0o19\nbPkh1/pERdt9/I7hyoMfaW3NDuLZEY/cMwdgcHu9JOOWAt/0d/nmF0DnXxrQFeI7\nS6JFksKyiF1sOS5hDoMnV0nk3aL/KkdTzEtysHmWiMAaOuhLp69lXzWgOtvMUPOb\nlYEswjEyzYYuydlc3l80LV0Pf3yC7abn0a9ZQSvxnATNUS6SAyKMUNSJySBbQ2hW\ncDimNVXZNVuhLRxh2XCGnhr64Wh0c9c3DZrXyk8u2GAdOjxbFPr8Ak0o6ihdPdl7\nDXxwWtDR0bZ9r3aaEc47WzHYxrMVJl4FC1PJDSQdFSJMwQCHXgFkVOhEFdm9wKeu\nhznVo1dDHzB/cbZjIqk0unRohivhmh4mIIakOdXjBfMMYfqKQ2cxxYjW/UCYzqW9\nmZ3eXze4bNgwqqkw5UapDWyEc4RBRQmZD8UTkb82YRRHv5OpLbH+GhQM7X9gf9Sr\nIv4xsPw6WAi4cT7WSWo6MHP2u+1L5EW44ddPY8w2gblVlyIJorHUdZRuZsAsaqCm\nU/ezu61Vb8UQ8Zj/EVl7QFA2HBMhes46l0WnuaClT+tHTGNlor48exvPmdcM3+Be\nyBVDLHr8zNrAOoWVaOakvfeu3tFODikdcz4olV+3PvIdlP1ksyDIXxAMjvUNi9xy\noqkLVR3R4sa4Twzx6FoSozZH3x2l7xq5ebif68GZXkVWUc0jhUEA5AO8bOP9k3Nd\n7WlJPvSR2bRdfBqZ7aPvvg==\n\n-----END CERTIFICATE-----",
            "first_seen": "2024-03-29T18:57:54.000000Z",
            "last_seen": "2024-07-01T09:42:39.000000Z",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.000000Z"
        },
        {
            "id": "9e133fe6-d412-4d35-a3ba-7974bce39ca0",
            "company_id": "8983134",
            "common_name": "rohan.info",
            "organization": "West and Sons",
            "organizational_unit": null,
            "locality": "Micaelaborough",
            "state": null,
            "country": "HK",
            "serial": "ELAXFADHZPMUOIVVAZQMGE5TCANTZQO7",
            "not_valid_before": "20241026T102658Z",
            "not_valid_after": "20250129T104707Z",
            "value": "-----BEGIN CERTIFICATE-----\nlxOFyXD4HiTE05/QHpnYycTWOSzn5dvIP5e9QKPRioA05NvZBNnVv1JesY+h6m5P\nN+MXv7EaaUjrO6LqMJEJvg/OI55psBJXS0DhWS2Xtx8vB1GlpPAMRvaTupzdCFYb\nHrgCpEG6hcShQKl82i3n2jX3+no6Gc++kEEKU/PimOG1d8KZ1oT9N+BzZheCkUmC\nFEW/tsd99KGLSR5S/kUhi4+ofsQqdQsGrez6T37bHTa3KxJYuZMaMYOr4EiFlfYO\nNuUihDlW6zC9GHCKtnSUNPGpkNthZxforcuOB6GV3+XJ6TmrW/KbBD2t9gvKNSQI\n+23aM0tP8D4+PM8ChqSkzTJT1BoQqgTWGWMEeJlBpR4Mu31ZihuCcR3/EOiPr0rb\n0ilR1wJQeEfjk+vYW9erjm98LcOxhOxzEUZ8p3nkC+ZxgQRcqSrdrSUDu9THUaf2\n/avc6mBjChRs6w/kryjEQMmG+zplXdZA2/SSAD5zk8j4ZJVJPLJieyDwMPGcTgGd\nryT+TfnGM4kLEU3qPf8xHihA+VOzy1awHibcuQWmV0rHusme0GkA8sHQ0Rumhkyb\nZhBHFqMFQpbtztjsdpa9fsWZY/H3KvMjzk/KJ863AyknqFaMa8m9UUq0uivaplnF\nRq4qmjWbadgf2bo8in7LRfrIq7cDyMOzde04QnwSqSDQbxpr17shIKxzKPynWkjF\npHCLikWWkRrsOndMZ/C69UrAe1WIGEOrYenfjSSqdceUddXDm0IcxRMq9hZtW1o+\ny5u0ewOCBT6qLQlIUY2vTvvM5j3UaTrFUC4Hf2SnhsAhRUlJlejne9QzH6QqYU0L\n5kjds7Vfq3wC/UdQhukHClyCykMj3K1fI8tUuoGfvcpnNkWH7bqxpP43oo7LkkJn\nefHPKR5+V+eVvRTakNmQKph5of7TCorHD/6BamcpYAEgOwFvB1KCIrCigvKLSIs/\nGWJkDh5mS0TGQj6PQNfoGPgeOQhHpQlg8FHtZ0mCUMtZsGfpFNW2wgRtjmBTnepn\n3M7qiMtTH0rWtmiV1lKB+cPe43TOJsK9bN53ClnIJlhCs98jFHw5Xip5r5mCq25M\nB9BW+ZfD9QfBAAY1ddTyfEGjrrJjMIeAK6ynhZGG4BR3McfPttjJehFke2phLdZz\nWJ53lcSfnYAQoVY+0vRXpBxD4R0PplsPvfVZ02GnLcocegzDStiYN62weunwtMD5\nzWKspj01eMF8QzpEVaMoUPVvDpD13ffVdg8PGnK6JuyA6iDpP7pbTvh88TG06K9/\nqh62dTBf8T0+lP5314KvZTXjNy0mw0GgtW2P7yLui1oOccYdUn087YAxX1QrMktz\nYs+pxWyjFWSsVjFKabkgHg==\n\n-----END CERTIFICATE-----",
            "first_seen": "2024-11-16T03:20:20.000000Z",
            "last_seen": "2024-12-11T12:13:58.000000Z",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Export certificates.

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

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

Headers

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

Query Parameters

type
The type of export to generate
required
Must be one of:
  • csv
  • xlsx
Example:
csv
filter[common_name]
Filter certificates by their common name.
Example:
test.nl
filter[organization]
Filter certificates by their organization name.
Example:
Test B.V.
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-not_valid_before
Must be one of:
  • not_valid_after
Example:
not_valid_after
filter
The column(s) to filter by. Eg filter=common_name:test.nl
Must be one of:
  • common_name
  • organization
Example:
common_name
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/certificates/export?type=csv&filter%5Bcommon_name%5D=test.nl&filter%5Borganization%5D=Test+B.V.&sort=not_valid_after&filter=common_name" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    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:
eum

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/eum?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe6-d997-4e2f-9b1e-e5242f15d529",
        "company_id": "7614267",
        "common_name": "kreiger.com",
        "organization": "Bartell, Ryan and Runolfsson",
        "organizational_unit": "Group",
        "locality": "Johnsonbury",
        "state": "Arizona",
        "country": "UZ",
        "serial": "8MZYQUMOTQ9VVAQOC3RLRGNL6XDX1TXK",
        "not_valid_before": "20240929T051959Z",
        "not_valid_after": "20260727T131335Z",
        "value": "-----BEGIN CERTIFICATE-----\nVKjGLy4f9Mz9J9S4Mfn2bAGPmpCJlXUnOpzC+WOBRVSjlVHnjSxQLGoubKnF/Gd/\n8cOJJ7JhhejaIQQ6V5OGXkbqR1M8kdzOpDuVxSJ34eoBNsA/n4q7HpgGARWwfy0f\nkvvJPvQvBGJaEaA7RBiSInoQO/8nDo1yiE4gfj3IpjyZSji4pZwo3O66r+cShnSn\ntxoynCK1EsrP1noV+8rnTq3A0X2NgXHgLaKzGswLkpyHI0E16wASjc+RBxecVzsh\n+YVY5e/KDtck8eHdgj/frQUXNQ2enaxV0vprx/Oh/4zfyDxTSGEOwtkKRjOwqVJc\nU+KidRhTysmw17w8W/D4oU5Om/LhjKa6jf5oBH28AYHVK7RNNV2O/7Y8VkfJxLSi\nUDnrV4/RB0OBkzec7WL76jkMmy8M/jLCsl+BouNxad7KM4kz4UevQmAc9YYpYduJ\nk6Ey76c1XScZ5CS8RyJTojWZQbJy6TLkcGnBMVPQUHl6pw8cRJSwOMhzi63jZtcr\n3YY/EbTED7wmbnm/X0AuWEtUmcbDNEFR2cER6QuUhfSSE0MZpKXxKmRX22NKU/Hk\ndfiP9GHlK7x14W1ZUQj4Ibi1O78y80utNBc+W092xWxqNh+CWrnOcVZa5xmqQWhF\nfTWIjoGQBO/4EbRyuSEEJk+/Br6Gxd1TMpunH2vj/gRg5edEyG5H0fE/e1p9FjW9\neTpRoHs+f21QWU93oYR08r7GRymc1k9j0kaHuFQ1pzVQtoR9NtkoSHq+q0Unj22F\nSwogfHVJvYTT6Jwm/jCXlvFBmNSGwyUQFvr4ccf91YJmQraXGWDgWrWGKFptkcWH\npfRYrHeMk1UJ6OJA2blhOmpFTScpVIZTOpYrxaLFJLHnzc8Z1I9wZI0bgt8ikTtw\nvBz0e1lCnLJ2ZINqOZ2QNKaNHgDkcwsltYT0R1CU2AP8ap6UEVp/3wbHl8V9fk39\n3goRZwcPmBvA3/+G5TyaTt6A8qQJf90MB4M6bqlQCAp79SVpGPURr2R4HprWkl9P\n3xxAMfh8R9czq8dju+k5WOGzJOge7YrBuV/ZxMyLurjrk+gkpK3OMVerwFiBxJH+\nEIHFRPY2/3qPjsJpahIo1TywvKlLNCb1k7SkvQkjlTthpYYOyhc4C+C1HmNhu2Ny\nxz/WgHIPD8JzwiwNlkcDuxfLZHYWQMLNyFtX/6nkMrdVNSZf3Q7AeFkJV/jwqoD5\nLhLdB9sf5e/qGt19f9IjuqGNFdKJ9dFKobif+llIx9Zz6Fp0QcIIpY8FcK5kpeqp\n8n7h0PkNzqJVr8bEphaTGWnxak8zHcZ62lhkIUxD0ssssYHD7ImlhSBV61hxMhEf\nAk8qDE9wPUUtA57RrAG2AQ==\n\n-----END CERTIFICATE-----",
        "first_seen": "2024-10-22T17:22:19.000000Z",
        "last_seen": "2024-12-19T08:01:29.000000Z",
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.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:
sit
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/certificates/sit" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

Endpoints

List integration logs

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

Retrieves all logs for a specific integration.

Headers

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

URL Parameters

integration_id
string
required

The ID of the integration.

Example:
quia
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/quia/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
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Unauthenticated."
}

Integrations

APIs for managing integrations

List Integrations

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

Retrieve all enabled integrations for the current company.

Headers

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

Enable Integration

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

Enable a new integration for the current company.

Headers

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

URL Parameters

integration
string
required

The name of the integration to enable.

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

Show Integration

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

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

Headers

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

URL Parameters

integration
string
required

The name of the integration to retrieve.

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

Update Integration

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

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

Headers

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

URL Parameters

integration
string
required

The name of the integration to update.

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

Disable Integration

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

Disable a specific integration for the current company.

Headers

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

URL Parameters

integration
string
required

The name of the integration to disable.

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

Me

APIs for managing the authenticated user

Retrieve the authenticated user

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

Retrieves the authenticated user and its metadata.

Headers

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

Query Parameters

include
string

Include additional relationships (comma separated).

Must be one of:
  • company
  • company.type
  • company.partner
  • managingCompany
  • managingCompany.type
  • managingCompany.partner
Example:
managingCompany
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/me?include=managingCompany" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "552265b1-12d6-4e14-bcb4-0e96f02696e4",
        "company_id": "9467298",
        "managing_company_id": "9467298",
        "first_name": "Davin",
        "last_name": "Ondricka",
        "two_factor_enabled": false,
        "email": "jedidiah03@hotmail.com",
        "email_verified_at": "2025-01-28T09:05:35Z",
        "phonenumber": "+19097603410",
        "phonenumber_verified_at": "2025-01-28T09:05:35Z",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "9467298",
                "uuid": "2c5ca940-092e-46d7-82ba-49af07671d15",
                "name": "Smitham Group",
                "count_detections": null
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "abilities": [],
        "need_to_configure_2fa": false,
        "terms_agreed_at": "2025-01-28T09:05:35Z",
        "created_at": "2025-01-28T09:05:35Z",
        "updated_at": "2025-01-28T09:05:35Z"
    },
    "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\",
    \"email\": \"john@doe.com\",
    \"old_password\": \"zyzjuagkv\",
    \"password\": \"I\\/p6%7lB~k\\/*b*xm*(Us\",
    \"phonenumber\": \"+31612345678\",
    \"managing_company_id\": \"1\",
    \"report_interval\": \"weekly\",
    \"terms_agreed_at\": \"2025-01-28T09:05:35\",
    \"role\": \"admin\"
}"
Example response:
[Empty response]
{
    "message": "The old password is incorrect."
}
{
    "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:
sed
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:
created_at
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=sed&filter%5Bbusiness_impact%5D=high&filter%5Bsystem_tag%5D=1&sort=created_at&include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9e133fe6-e045-4176-bcf1-26f606d674ba",
            "company_id": "1884455",
            "name": "263cd16d-4ebc-3fbc-a005-48823f69537a",
            "description": "Ut laboriosam qui voluptas soluta. Et rerum accusantium sunt excepturi neque velit labore. Vero dolorem repudiandae temporibus quis aut aut. Autem quo et accusamus iste sunt minima ut soluta.",
            "business_impact": "high",
            "system_tag": false,
            "asset_count": 0,
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.000000Z"
        },
        {
            "id": "9e133fe6-e27d-42a7-9bb6-222059879ab3",
            "company_id": "4438996",
            "name": "79be9a01-3728-3586-9616-3520583188ff",
            "description": "Inventore laborum explicabo mollitia ex iure deserunt iste. Consequatur delectus cupiditate quia soluta. Sit a qui ipsum quia non.",
            "business_impact": "high",
            "system_tag": false,
            "asset_count": 0,
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "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\": \"ghbudwkcgxflzi\",
    \"description\": \"Pariatur qui tempora a odit veritatis tenetur.\",
    \"business_impact\": \"low\"
}"
Example response:
{
    "data": {
        "id": "9e133fe6-e73b-4b2e-a8ab-53f19ed0f564",
        "company_id": "5654098",
        "name": "4a97cc21-59e5-3b94-a51e-1ab11eced772",
        "description": "Aliquid suscipit ut ipsum sed. Quia est reprehenderit ratione eum ducimus sequi. Vitae nostrum fugit consequatur natus aut cum.",
        "business_impact": "critical",
        "system_tag": false,
        "asset_count": 0,
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.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:
qui

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/qui?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe6-eab0-4816-a44c-10b52fe54ebe",
        "company_id": "7369841",
        "name": "fdf83c12-3de6-33d8-8ff2-f0dbf8b3e5b7",
        "description": "Corrupti quo consequatur laboriosam atque et aliquam ut corrupti. Quo ut odit cumque sint odio fuga vel. Dolores odit nihil aperiam iusto iste.",
        "business_impact": "low",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.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:
ut

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/tags/ut" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"jhixnhvnzyhiohpekl\",
    \"description\": \"Repellat voluptas et ab ut neque velit cupiditate amet.\",
    \"business_impact\": \"high\"
}"
Example response:
{
    "data": {
        "id": "9e133fe6-eeab-442b-8f8f-3637df9b730d",
        "company_id": "8351597",
        "name": "f80ca745-1db0-3e65-a7fc-4ea28c23b7de",
        "description": "Non esse consequatur similique quasi voluptatum. Cum minus assumenda quo vero. Perferendis deleniti eveniet reiciendis quibusdam harum ut. Sit consequuntur optio quo.",
        "business_impact": "low",
        "system_tag": false,
        "asset_count": 0,
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.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:
ea
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/tags/ea" \
    --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:
company
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=company&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": "d72c614c-df87-4077-8586-3b714b1ff0f0",
            "company_id": "6167688",
            "managing_company_id": "6167688",
            "first_name": "Axel",
            "last_name": "Yundt",
            "two_factor_enabled": false,
            "email": "jkohler@feil.com",
            "email_verified_at": "2025-01-28T09:05:35.000000Z",
            "phonenumber": "1-520-503-5285",
            "phonenumber_verified_at": "2025-01-28T09:05:35.000000Z",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "6167688",
                    "uuid": "2e3abcd5-5034-4897-a11b-c28ccdd3cfc1",
                    "name": "Nader, Cummerata and Durgan",
                    "count_detections": null
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "terms_agreed_at": "2025-01-28T09:05:35.000000Z",
            "created_at": "2025-01-28T09:05:35.000000Z",
            "updated_at": "2025-01-28T09:05:35.000000Z"
        },
        {
            "id": "bfdcc1d4-ef8b-4c6c-a835-41ac84c58abe",
            "company_id": "5336091",
            "managing_company_id": "5336091",
            "first_name": "Alexandrine",
            "last_name": "Stanton",
            "two_factor_enabled": false,
            "email": "kellie33@hotmail.com",
            "email_verified_at": "2025-01-28T09:05:35.000000Z",
            "phonenumber": "1-915-818-1215",
            "phonenumber_verified_at": "2025-01-28T09:05:35.000000Z",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "5336091",
                    "uuid": "e51034cd-69ff-4c31-b9cd-e06bfed2304e",
                    "name": "Reichert, Raynor and Vandervort",
                    "count_detections": null
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "terms_agreed_at": "2025-01-28T09:05:35.000000Z",
            "created_at": "2025-01-28T09:05:35.000000Z",
            "updated_at": "2025-01-28T09:05:36.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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "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\": \"yqaxwtyzeieswgqnove\",
    \"last_name\": \"d\",
    \"email\": \"pfeffer.miracle@example.com\",
    \"phonenumber\": \"+31612345678\",
    \"report_interval\": \"weekly\",
    \"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:
33212759-e076-3422-8219-94e6d8594cee

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/users/33212759-e076-3422-8219-94e6d8594cee?include=managingCompany.type" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "8ed7248e-5540-46d7-84a4-cbf7f8cdf616",
        "company_id": "8672040",
        "managing_company_id": "8672040",
        "first_name": "Lauretta",
        "last_name": "Cremin",
        "two_factor_enabled": false,
        "email": "bartell.sanford@gmail.com",
        "email_verified_at": "2025-01-28T09:05:36.000000Z",
        "phonenumber": "+1.262.700.6138",
        "phonenumber_verified_at": "2025-01-28T09:05:36.000000Z",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "8672040",
                "uuid": "ab442321-5d69-4432-8cd2-f6e6ed3b2398",
                "name": "Bechtelar PLC",
                "count_detections": null
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "terms_agreed_at": "2025-01-28T09:05:36.000000Z",
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.000000Z"
    }
}
{
    "message": "user not found"
}

Update an user

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

Updates an user for the current company.

Headers

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

URL Parameters

user_uuid
string
required

string The id of the user

Example:
ab622a94-9455-333f-acbd-f319a4d46731

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/users/ab622a94-9455-333f-acbd-f319a4d46731" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Doe\",
    \"email\": \"john@doe.com\",
    \"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"
}

Delete an user

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

Deletes 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:
ae502e29-6240-3c13-9e62-9d14a2f48ddc
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/users/ae502e29-6240-3c13-9e62-9d14a2f48ddc" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "message": "user not found"
}

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:
Medium
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
  • qod_type
  • last_seen
Example:
last_seen

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=Medium&filter%5Bscan_id%5D=123&filter%5Bfamily%5D=SQL+Injection&sort=last_seen" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filter\": {
        \"name\": \"pxcluhwknwbe\",
        \"threat_level\": \"Critical\",
        \"host\": \"absgsyabqkuv\",
        \"hostname\": \"hbdltlxvwkizej\",
        \"status\": \"Unresolved\",
        \"scan_id\": \"9e63fff8-6141-3875-abfd-9c125c706de9\"
    },
    \"per_page\": 12
}"
Example response:
{
    "data": [
        {
            "id": "9e133fe6-9c76-4f11-9ff2-006937740f30",
            "asset_id": null,
            "company_id": "5335123",
            "vulnerability_definition_id": "9e133fe6-9b9b-42f2-abef-4ea072e2c9e0",
            "vulnerability_definition": {
                "id": "9e133fe6-9b9b-42f2-abef-4ea072e2c9e0",
                "name": "Consectetur consequuntur optio excepturi.",
                "description": "Aut tempora asperiores ducimus numquam. Aliquid et soluta tempora omnis quas voluptas sed.",
                "solution": "Fuga ea quia dicta velit. Qui aut nihil voluptas consequuntur. Quo qui incidunt ullam reprehenderit.",
                "category": "Verbose Error Messages",
                "threat_level": "Critical",
                "definition_type": "openvas",
                "definition": {
                    "id": "9e133fe6-9770-4fae-8c1b-149fe671dec3",
                    "o_id": "42056de1-641b-3d36-a0dd-53efd904c8c4",
                    "name": "Clear-text Transmission in esse",
                    "family": "Clear-text Transmission",
                    "reference_urls": "http://hartmann.com/quis-est-cupiditate-dolor-distinctio, http://kris.net/possimus-molestiae-voluptas-ab-assumenda-est-non",
                    "reference_cves": "CVE-2017-8197, CVE-2020-5904",
                    "solution_type": "VendorFix",
                    "solution_description": "Modi autem quaerat molestias laborum voluptas repudiandae. Maxime ullam eos tenetur dolor possimus. Temporibus ducimus eligendi labore et sint doloremque perspiciatis. Voluptatem modi dolorum sint.",
                    "summary": "Harum et quaerat aut commodi perferendis omnis harum. Perspiciatis eveniet quo aut ut alias. Qui magni beatae adipisci ad. Praesentium facere et voluptas quia et delectus animi perspiciatis. Molestiae mollitia corporis aut voluptas et et.",
                    "insight": "Explicabo repellendus aut enim quis dolor impedit voluptas. Aspernatur accusantium quas eveniet fugit. Impedit laborum tenetur voluptate aut eos. Minima nihil cumque veniam molestias aspernatur id.",
                    "affected": "Occaecati dignissimos cum rerum vel accusantium doloremque sed itaque. Ab suscipit minus qui repudiandae aut. Dolores voluptatem laudantium debitis. Sed omnis hic aut ad aspernatur facere sed sed.",
                    "impact": "Quibusdam et et sequi facere eligendi asperiores quam. Eveniet qui temporibus maiores consequuntur. Consequatur eum et qui qui accusamus voluptas. Repellendus nam est molestiae.",
                    "vuldetect": "Iusto accusantium qui eos id fugit reiciendis maxime. Ipsa id eius aut vitae occaecati omnis rerum magni. Corrupti amet aperiam blanditiis velit laboriosam deleniti.",
                    "priority": "High",
                    "qod_type": "registry",
                    "qod_value": 74
                },
                "cvss_base_score": 1.6,
                "cvss_base_vector": "AV:A/AC:L/Au:M/C:C/I:N/A:C",
                "created_at": "2025-01-28T09:05:36.000000Z",
                "updated_at": "2025-01-28T09:05:36.000000Z"
            },
            "host": "69.83.203.40",
            "hostname": "mayer.com",
            "port": "443/tcp",
            "details": "Veniam odit illo reiciendis. Nihil et dolorum eos aut et ex. Sunt impedit quae mollitia dolorem.",
            "status": "Resolved",
            "first_seen": "2024-06-22T00:21:56.000000Z",
            "last_seen": "2024-08-03T12:59:10.000000Z",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.000000Z",
            "name": "Consectetur consequuntur optio excepturi.",
            "description": "Veniam odit illo reiciendis. Nihil et dolorum eos aut et ex. Sunt impedit quae mollitia dolorem.",
            "cvss_base_score": 1.6,
            "cvss_base_vector": "AV:A/AC:L/Au:M/C:C/I:N/A:C",
            "qod_type": "registry",
            "qod_value": 74,
            "threat": "Critical",
            "scanner_id": null,
            "scanner_hostname": null,
            "plugin": {
                "id": "9e133fe6-9770-4fae-8c1b-149fe671dec3",
                "o_id": "42056de1-641b-3d36-a0dd-53efd904c8c4",
                "name": "Clear-text Transmission in esse",
                "family": "Clear-text Transmission",
                "reference_urls": "http://hartmann.com/quis-est-cupiditate-dolor-distinctio, http://kris.net/possimus-molestiae-voluptas-ab-assumenda-est-non",
                "reference_cves": "CVE-2017-8197, CVE-2020-5904",
                "solution_type": "VendorFix",
                "solution_description": "Modi autem quaerat molestias laborum voluptas repudiandae. Maxime ullam eos tenetur dolor possimus. Temporibus ducimus eligendi labore et sint doloremque perspiciatis. Voluptatem modi dolorum sint.",
                "summary": "Harum et quaerat aut commodi perferendis omnis harum. Perspiciatis eveniet quo aut ut alias. Qui magni beatae adipisci ad. Praesentium facere et voluptas quia et delectus animi perspiciatis. Molestiae mollitia corporis aut voluptas et et.",
                "insight": "Explicabo repellendus aut enim quis dolor impedit voluptas. Aspernatur accusantium quas eveniet fugit. Impedit laborum tenetur voluptate aut eos. Minima nihil cumque veniam molestias aspernatur id.",
                "affected": "Occaecati dignissimos cum rerum vel accusantium doloremque sed itaque. Ab suscipit minus qui repudiandae aut. Dolores voluptatem laudantium debitis. Sed omnis hic aut ad aspernatur facere sed sed.",
                "impact": "Quibusdam et et sequi facere eligendi asperiores quam. Eveniet qui temporibus maiores consequuntur. Consequatur eum et qui qui accusamus voluptas. Repellendus nam est molestiae.",
                "vuldetect": "Iusto accusantium qui eos id fugit reiciendis maxime. Ipsa id eius aut vitae occaecati omnis rerum magni. Corrupti amet aperiam blanditiis velit laboriosam deleniti.",
                "priority": "High",
                "qod_type": "registry",
                "qod_value": 74
            }
        },
        {
            "id": "9e133fe6-a0d2-4b2d-b5d1-319926ec856f",
            "asset_id": null,
            "company_id": "6866553",
            "vulnerability_definition_id": "9e133fe6-a050-45ca-91df-4ee51668e6d0",
            "vulnerability_definition": {
                "id": "9e133fe6-a050-45ca-91df-4ee51668e6d0",
                "name": "Facere quis voluptates.",
                "description": "Unde eaque nihil ad. Exercitationem quod sequi a et quidem consequatur autem. Ut voluptatibus asperiores aliquam eaque ad.",
                "solution": "Et voluptas voluptatem non minima beatae. Adipisci cupiditate praesentium voluptatem consequatur. Impedit quia adipisci in fugit consequuntur expedita nobis.",
                "category": "3",
                "threat_level": "Low",
                "definition_type": "openvas",
                "definition": {
                    "id": "9e133fe6-9fc8-4224-8042-a5236bf4f0e6",
                    "o_id": "bb2bc0a3-aa08-37fe-8249-91c2ebf5e155",
                    "name": "Weak Encryption via dolor input",
                    "family": "Weak Encryption",
                    "reference_urls": "http://hilpert.com/natus-ut-animi-aut-quos-minima.html, http://lang.com/beatae-placeat-quod-non-inventore-sit-et",
                    "reference_cves": "CVE-2017-6128, CVE-2019-7801",
                    "solution_type": "Mitigation",
                    "solution_description": "Dolores nisi voluptatem qui quaerat autem laboriosam. Voluptate soluta ipsam perspiciatis quae qui. Tenetur illo et dolores suscipit id voluptate. Non occaecati aut possimus.",
                    "summary": "Quis quia similique mollitia explicabo. Quod dolores eum rerum omnis voluptatem. Autem consectetur et eos et eveniet deleniti qui alias. Nesciunt sunt earum sed dolor eos.",
                    "insight": "Ea eos rerum nobis consequuntur vel ea illum laborum. Nostrum sed sequi velit temporibus minima aliquid est. Quisquam quibusdam eius quibusdam reprehenderit optio ratione. Maxime natus nihil optio. Repellat et aut et consequatur culpa.",
                    "affected": "Molestias et nesciunt animi quis quas delectus. Asperiores libero est explicabo. Dolorum temporibus sit deleniti placeat sint.",
                    "impact": "Temporibus omnis consequatur eveniet natus ab velit rerum. Quidem impedit quis beatae placeat qui. Excepturi temporibus labore eum aut. Debitis aliquam temporibus ducimus necessitatibus. Similique ut impedit quod quam sequi et.",
                    "vuldetect": "Consequatur sit atque modi harum. Omnis beatae nulla incidunt qui vel. Omnis reiciendis delectus aut sit placeat necessitatibus aliquam. Vel iure iusto non esse quaerat inventore.",
                    "priority": "Medium",
                    "qod_type": "remote_banner",
                    "qod_value": 12
                },
                "cvss_base_score": 8.2,
                "cvss_base_vector": "AV:P/AC:H/Au:M/C:C/I:N/A:P",
                "created_at": "2025-01-28T09:05:36.000000Z",
                "updated_at": "2025-01-28T09:05:36.000000Z"
            },
            "host": "244.238.236.84",
            "hostname": "heidenreich.net",
            "port": "80/tcp",
            "details": "Dolorum aperiam error accusantium fugiat id. Animi aperiam deserunt distinctio dolorum atque voluptates sunt ea. Nihil qui mollitia at error voluptatum. Explicabo est consequatur vel ratione odit libero qui. Ut est sapiente accusamus.",
            "status": "Detected",
            "first_seen": "2024-12-13T13:35:36.000000Z",
            "last_seen": "2024-12-15T13:47:07.000000Z",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.000000Z",
            "name": "Facere quis voluptates.",
            "description": "Dolorum aperiam error accusantium fugiat id. Animi aperiam deserunt distinctio dolorum atque voluptates sunt ea. Nihil qui mollitia at error voluptatum. Explicabo est consequatur vel ratione odit libero qui. Ut est sapiente accusamus.",
            "cvss_base_score": 8.2,
            "cvss_base_vector": "AV:P/AC:H/Au:M/C:C/I:N/A:P",
            "qod_type": "remote_banner",
            "qod_value": 12,
            "threat": "Low",
            "scanner_id": null,
            "scanner_hostname": null,
            "plugin": {
                "id": "9e133fe6-9fc8-4224-8042-a5236bf4f0e6",
                "o_id": "bb2bc0a3-aa08-37fe-8249-91c2ebf5e155",
                "name": "Weak Encryption via dolor input",
                "family": "Weak Encryption",
                "reference_urls": "http://hilpert.com/natus-ut-animi-aut-quos-minima.html, http://lang.com/beatae-placeat-quod-non-inventore-sit-et",
                "reference_cves": "CVE-2017-6128, CVE-2019-7801",
                "solution_type": "Mitigation",
                "solution_description": "Dolores nisi voluptatem qui quaerat autem laboriosam. Voluptate soluta ipsam perspiciatis quae qui. Tenetur illo et dolores suscipit id voluptate. Non occaecati aut possimus.",
                "summary": "Quis quia similique mollitia explicabo. Quod dolores eum rerum omnis voluptatem. Autem consectetur et eos et eveniet deleniti qui alias. Nesciunt sunt earum sed dolor eos.",
                "insight": "Ea eos rerum nobis consequuntur vel ea illum laborum. Nostrum sed sequi velit temporibus minima aliquid est. Quisquam quibusdam eius quibusdam reprehenderit optio ratione. Maxime natus nihil optio. Repellat et aut et consequatur culpa.",
                "affected": "Molestias et nesciunt animi quis quas delectus. Asperiores libero est explicabo. Dolorum temporibus sit deleniti placeat sint.",
                "impact": "Temporibus omnis consequatur eveniet natus ab velit rerum. Quidem impedit quis beatae placeat qui. Excepturi temporibus labore eum aut. Debitis aliquam temporibus ducimus necessitatibus. Similique ut impedit quod quam sequi et.",
                "vuldetect": "Consequatur sit atque modi harum. Omnis beatae nulla incidunt qui vel. Omnis reiciendis delectus aut sit placeat necessitatibus aliquam. Vel iure iusto non esse quaerat inventore.",
                "priority": "Medium",
                "qod_type": "remote_banner",
                "qod_value": 12
            }
        }
    ],
    "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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Export vulnerabilities.

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

Export all vulnerabilities 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:
xlsx
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:
Unresolved
filter[threat]
Filter vulnerabilities by their threat level
Must be one of:
  • Log
  • Low
  • Medium
  • High
  • Critical
Example:
Medium
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
  • qod_type
  • last_seen
Example:
name

Body Parameters

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/vulnerabilities/export?type=xlsx&filter%5Bname%5D=SQL&filter%5Bhost%5D=192.168.1.1&filter%5Bhostname%5D=laptop-1.local&filter%5Bstatus%5D=Unresolved&filter%5Bthreat%5D=Medium&filter%5Bscan_id%5D=123&filter%5Bfamily%5D=SQL+Injection&sort=name" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filter\": {
        \"name\": \"yuakq\",
        \"threat_level\": \"Low\",
        \"host\": \"imvluozswysieblaliaiwp\",
        \"hostname\": \"ksayphcoemtutulygjo\",
        \"status\": \"Expired\",
        \"scan_id\": \"4390b780-559c-3684-bf01-80dda0c5b212\"
    },
    \"per_page\": 22,
    \"type\": \"xlsx\"
}"
Example response:
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Unauthenticated."
}

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:
harum
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/vulnerabilities/harum" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe6-ae3e-415d-b197-f222fce13e13",
        "asset_id": null,
        "company_id": "9322625",
        "vulnerability_definition_id": "9e133fe6-adbc-4b48-9bcf-c3b0c25c2b7a",
        "vulnerability_definition": {
            "id": "9e133fe6-adbc-4b48-9bcf-c3b0c25c2b7a",
            "name": "Sint consequatur sed.",
            "description": "Dolorum ut incidunt aspernatur natus necessitatibus repellendus. Quia nihil dolores dicta voluptates quis.",
            "solution": "Est aut enim ad qui ipsum numquam quam et. Laborum eum in ut error non eveniet et.",
            "category": "10",
            "threat_level": "Medium",
            "definition_type": "openvas",
            "definition": {
                "id": "9e133fe6-ad2f-45d0-999f-4ae8bda30100",
                "o_id": "4bbb6f85-344c-35e2-9445-2b05b82c9355",
                "name": "7 via quis input",
                "family": "7",
                "reference_urls": "https://www.thompson.com/dignissimos-porro-omnis-ut-at-nulla-quia, http://www.stiedemann.info/reiciendis-corrupti-animi-hic-unde-quia-expedita-quisquam",
                "reference_cves": "CVE-2019-3627, CVE-2021-5278",
                "solution_type": "Mitigation",
                "solution_description": "Ad saepe et autem tempore ex. Ad tenetur voluptatibus sint debitis. Sit nemo voluptatem aspernatur praesentium ex. Doloremque ut aspernatur aut quam non suscipit qui.",
                "summary": "Est officiis doloribus sunt et. Id voluptatibus doloremque et. Quam magni recusandae sit ab ut ut quisquam.",
                "insight": "Nobis animi et autem repudiandae. Asperiores eos quia quo nesciunt. Maxime omnis inventore dolorem enim. Neque eum dolorem consequatur occaecati beatae sint numquam.",
                "affected": "Voluptas aut nihil eveniet eligendi et odio voluptatibus. Alias blanditiis error quas et. Earum est quo sequi sit ad. Aut assumenda ex iure sapiente. Aut hic rem voluptate ab omnis et.",
                "impact": "Impedit fuga et atque qui beatae. Occaecati unde sed aut rerum sapiente blanditiis. Et rem quia et accusamus ipsam debitis dolorum. Dolorum voluptatem numquam sit.",
                "vuldetect": "Et voluptatem maxime optio quia et impedit quas. Laborum tenetur enim est perferendis error. Nulla minima quia similique nemo et eligendi. Recusandae laboriosam qui asperiores sapiente asperiores esse in.",
                "priority": "Medium",
                "qod_type": "package",
                "qod_value": 85
            },
            "cvss_base_score": 7.9,
            "cvss_base_vector": "AV:A/AC:L/Au:M/C:N/I:P/A:P",
            "created_at": "2025-01-28T09:05:36.000000Z",
            "updated_at": "2025-01-28T09:05:36.000000Z"
        },
        "host": "17.251.118.242",
        "hostname": "rau.com",
        "port": "21/tcp",
        "details": "Voluptatum harum quisquam odit repudiandae. Rerum debitis eos quo ducimus velit ad aut. Fugit voluptatem totam doloribus tempora ex. Est corrupti vitae iste praesentium unde.",
        "status": "Unresolved",
        "first_seen": "2024-03-13T18:54:09.000000Z",
        "last_seen": "2024-10-08T22:18:12.000000Z",
        "created_at": "2025-01-28T09:05:36.000000Z",
        "updated_at": "2025-01-28T09:05:36.000000Z",
        "name": "Sint consequatur sed.",
        "description": "Voluptatum harum quisquam odit repudiandae. Rerum debitis eos quo ducimus velit ad aut. Fugit voluptatem totam doloribus tempora ex. Est corrupti vitae iste praesentium unde.",
        "cvss_base_score": 7.9,
        "cvss_base_vector": "AV:A/AC:L/Au:M/C:N/I:P/A:P",
        "qod_type": "package",
        "qod_value": 85,
        "threat": "Medium",
        "scanner_id": null,
        "scanner_hostname": null,
        "plugin": {
            "id": "9e133fe6-ad2f-45d0-999f-4ae8bda30100",
            "o_id": "4bbb6f85-344c-35e2-9445-2b05b82c9355",
            "name": "7 via quis input",
            "family": "7",
            "reference_urls": "https://www.thompson.com/dignissimos-porro-omnis-ut-at-nulla-quia, http://www.stiedemann.info/reiciendis-corrupti-animi-hic-unde-quia-expedita-quisquam",
            "reference_cves": "CVE-2019-3627, CVE-2021-5278",
            "solution_type": "Mitigation",
            "solution_description": "Ad saepe et autem tempore ex. Ad tenetur voluptatibus sint debitis. Sit nemo voluptatem aspernatur praesentium ex. Doloremque ut aspernatur aut quam non suscipit qui.",
            "summary": "Est officiis doloribus sunt et. Id voluptatibus doloremque et. Quam magni recusandae sit ab ut ut quisquam.",
            "insight": "Nobis animi et autem repudiandae. Asperiores eos quia quo nesciunt. Maxime omnis inventore dolorem enim. Neque eum dolorem consequatur occaecati beatae sint numquam.",
            "affected": "Voluptas aut nihil eveniet eligendi et odio voluptatibus. Alias blanditiis error quas et. Earum est quo sequi sit ad. Aut assumenda ex iure sapiente. Aut hic rem voluptate ab omnis et.",
            "impact": "Impedit fuga et atque qui beatae. Occaecati unde sed aut rerum sapiente blanditiis. Et rem quia et accusamus ipsam debitis dolorum. Dolorum voluptatem numquam sit.",
            "vuldetect": "Et voluptatem maxime optio quia et impedit quas. Laborum tenetur enim est perferendis error. Nulla minima quia similique nemo et eligendi. Recusandae laboriosam qui asperiores sapiente asperiores esse in.",
            "priority": "Medium",
            "qod_type": "package",
            "qod_value": 85
        }
    }
}

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": "9e133fe5-56c9-4be9-aece-ab3bf8362816",
            "webhook_id": "9e133fe5-55f5-49cf-9250-c7d79de74e0a",
            "event": "pariatur",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2025-01-28T09:05:35.000000Z",
            "updated_at": "2025-01-28T09:05:35.000000Z"
        },
        {
            "id": "9e133fe5-59b2-4b99-8bc8-9a3c34f14742",
            "webhook_id": "9e133fe5-58f5-4542-96a4-0b6a166a505c",
            "event": "dolore",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2025-01-28T09:05:35.000000Z",
            "updated_at": "2025-01-28T09:05:35.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",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "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
                                                                                                                    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:
9e133fe5-56c9-4be9-aece-ab3bf8362816
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events/9e133fe5-56c9-4be9-aece-ab3bf8362816" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe5-63a3-482a-92bf-3595e71febd5",
        "webhook_id": "9e133fe5-62de-42bd-b05e-bd0a63e28af5",
        "event": "molestiae",
        "payload": {
            "key": "value"
        },
        "status": "pending",
        "retries": 0,
        "next_retry_at": null,
        "last_sent_at": null,
        "created_at": "2025-01-28T09:05:35.000000Z",
        "updated_at": "2025-01-28T09:05:35.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": "9e133fe5-3ed2-439d-b2e1-84008f4295ca",
            "company_id": "d450b95a-c6b2-4e00-9198-0a68d75d8dca",
            "url": "https://prohaska.biz",
            "description": null,
            "events": [],
            "secret": "769e5919fa9fd34b22f0559a5c1fda365b9bfc4fe242fbd99f4b6ea90e1d957c",
            "last_sent_at": null,
            "created_at": "2025-01-28T09:05:35.000000Z",
            "updated_at": "2025-01-28T09:05:35.000000Z"
        },
        {
            "id": "9e133fe5-4228-4dbb-8f18-70f0b17047ff",
            "company_id": "867d88c9-8f76-47e4-aee1-80a0c9201870",
            "url": "https://hodkiewicz.com",
            "description": null,
            "events": [],
            "secret": "79a4fbe15654bd12b80338fa3fcdc9e662fe1430133a7b3138006245bf6d78ec",
            "last_sent_at": null,
            "created_at": "2025-01-28T09:05:35.000000Z",
            "updated_at": "2025-01-28T09:05:35.000000Z"
        }
    ]
}

Create Webhook

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

Create a new webhook for the current company.

Headers

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

Body Parameters

Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/schmidt.com\\/consequuntur-sint-et-sunt-est-error-qui-sunt.html\",
    \"description\": \"Est fugit aliquid saepe et sint explicabo.\"
}"
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:
9e133fe5-3ed2-439d-b2e1-84008f4295ca
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhooks/9e133fe5-3ed2-439d-b2e1-84008f4295ca" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe5-4916-4860-a683-c0144d5075cc",
        "company_id": "fdf87a29-0ac1-4665-8db5-7d746ed0fb30",
        "url": "https://auer.biz",
        "description": null,
        "events": [],
        "secret": "c59a4699dfa25696d768b4bc2925fac79a3c92feb9d1d3a6f2a80c29d56707e0",
        "last_sent_at": null,
        "created_at": "2025-01-28T09:05:35.000000Z",
        "updated_at": "2025-01-28T09:05:35.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:
9e133fe5-3ed2-439d-b2e1-84008f4295ca
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/9e133fe5-3ed2-439d-b2e1-84008f4295ca/rotate-secret" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9e133fe5-4cf3-46ba-b9ee-b55d7a7c379c",
        "company_id": "e7bc4491-00eb-4813-bb0d-bf3feb69a272",
        "url": "https://schowalter.com",
        "description": null,
        "events": [],
        "secret": "82d3231e11f9915a68970f36cb7b8be4b158b0f00f89f0adaa7e94c40e06927f",
        "last_sent_at": null,
        "created_at": "2025-01-28T09:05:35.000000Z",
        "updated_at": "2025-01-28T09:05:35.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:
9e133fe5-3ed2-439d-b2e1-84008f4295ca
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/9e133fe5-3ed2-439d-b2e1-84008f4295ca/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:
9e133fe5-3ed2-439d-b2e1-84008f4295ca

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/webhooks/9e133fe5-3ed2-439d-b2e1-84008f4295ca" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/homenick.biz\\/\",
    \"description\": \"Id voluptatem est a fugit ratione laboriosam aut modi.\"
}"
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:
9e133fe5-3ed2-439d-b2e1-84008f4295ca
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/webhooks/9e133fe5-3ed2-439d-b2e1-84008f4295ca" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "message": "webhook not found"
}