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": "9d0a0333-d854-40a3-b805-fa8af6943367",
            "cpe": "cpe:2.3:a:ibm:db2:*:*:*:*:*:*:*:*",
            "vendor": "IBM",
            "product": "DB2",
            "version": "14.87.6785",
            "update": "",
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.000000Z"
        },
        {
            "id": "9d0a0333-d92c-4810-b032-284d642c88c3",
            "cpe": "cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*",
            "vendor": "Google",
            "product": "Cloud Platform",
            "version": "18.42.3404",
            "update": "build7368",
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.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:
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\": \"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:
necessitatibus

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/necessitatibus?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0333-dd89-4c2a-b949-29c9d936c565",
        "cpe": "cpe:2.3:a:apple:macos:*:*:*:*:*:*:*:*",
        "vendor": "Apple",
        "product": "macOS",
        "version": "19.67.6856",
        "update": "sp1",
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.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[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
  • last_seen
Example:
name
include
Include additional relationships (comma separated).
Must be one of:
  • certificates
  • applications
  • tags
  • scans
Example:
scans
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/assets?filter%5Bname%5D=Laptop-1&filter%5Bhost%5D=192.168.1.1&filter%5Bhostname%5D=laptop-1.local&filter%5Btags%5D%5B%5D=New%2COld&sort=name&include=scans" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9d0a0333-93c8-449b-952a-029cae1ac286",
            "company_id": "15",
            "name": "Ms. Alayna Bernhard",
            "host": "182.81.92.211",
            "hostname": "volkman.org",
            "operating_system": "ducimus",
            "operating_system_name": "autem",
            "first_seen": "1998-12-25T05:38:46.000000Z",
            "last_seen": "1983-02-10T01:39:20.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [
                ""
            ],
            "ssh_key": null,
            "average_scan_duration": 0,
            "scans": []
        },
        {
            "id": "9d0a0333-95e3-436a-ace2-5a6837af48d2",
            "company_id": "16",
            "name": "Schuyler Hansen",
            "host": "168.41.229.253",
            "hostname": "larson.com",
            "operating_system": "velit",
            "operating_system_name": "eius",
            "first_seen": "1995-10-29T22:17:30.000000Z",
            "last_seen": "1980-05-03T15:25:33.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:
xlsx
filter[name]
Filter assets by name.
Example:
Laptop-1
filter[host]
Filter assets by their IP-address.
Example:
192.168.1.1
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=xlsx&filter%5Bname%5D=Laptop-1&filter%5Bhost%5D=192.168.1.1&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\": \"removeTags\",
            \"id\": \"vel\",
            \"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\": \"wktovlmsgxp\",
    \"host\": \"molestiae\"
}"
Example response:
{
    "data": {
        "id": "9d0a0333-9f3e-459d-af2d-10b55262e803",
        "company_id": "17",
        "name": "Janelle D'Amore",
        "host": "184.43.64.71",
        "hostname": "kris.com",
        "operating_system": "eligendi",
        "operating_system_name": "assumenda",
        "first_seen": "2015-12-16T13:43:47.000000Z",
        "last_seen": "2010-04-20T11:58:57.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:
vero

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/assets/vero?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0333-a300-47bc-8a62-1bb1f11257dc",
        "company_id": "18",
        "name": "Mrs. Heidi Leffler",
        "host": "133.52.234.254",
        "hostname": "johnston.org",
        "operating_system": "saepe",
        "operating_system_name": "aut",
        "first_seen": "2010-07-18T19:25:15.000000Z",
        "last_seen": "2020-04-20T23:10:52.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:
enim

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/assets/enim" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"kmbvpcftkgwk\"
}"
Example response:
{
    "data": {
        "id": "9d0a0333-add8-44e7-a9bb-34d23d6e6996",
        "company_id": "19",
        "name": "Elenora Witting",
        "host": "237.190.215.240",
        "hostname": "gerlach.com",
        "operating_system": "velit",
        "operating_system_name": "ut",
        "first_seen": "2018-12-01T23:45:01.000000Z",
        "last_seen": "1973-11-25T04:02:13.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:
est
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/assets/est" \
    --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:
applications
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=applications" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9d0a0333-b5a9-4880-8465-e98fa9ce1eb7",
            "company_id": "20",
            "common_name": "kilback.com",
            "organization": "Littel and Sons",
            "organizational_unit": null,
            "locality": "Bernhardtown",
            "state": null,
            "country": "KN",
            "serial": "OIYVNVDMHVALUYRS8UU2UCKQLU3VLOTJ",
            "not_valid_before": "20221207T105642Z",
            "not_valid_after": "20250803T203041Z",
            "value": "-----BEGIN CERTIFICATE-----\n5x4duNt3B3wa1zJIeLg74yWd7TVQdbhACcXxzT7v6eW3jqUNPMgpGbiFyd62AMdT\nQGf2rvkJmCOnpbsNxUTelmBe2+cxKF6fmV4jR7bQb4ldsro6lzF6Xyzj6v2zU1u6\nMPixALg28KfAyo3yg47SEJdMzpU/hZAxA4es9aHTkrnddvSuP8TN9yPtVvC8vO0U\nYUiNTpxIs/FKHuFTDf7c1c7Sd9qhKsC3GTpBg2QqQm7LsOEpK+wwelREqQupes33\nHGg+eXscieoTG9fE89RfJrL32d0SV2Am2eZ+GsjqJLnIlibdY62Q0BDSoY5FMCBv\nsKb51ILkfx4yXLp3wcgI17mUTHTDkQ7LlsGTOxjlPLkrNME+NMIftljNLyJAP5Fb\nZGet06lWPdBY4XVzMNisoCR7r09x7cuUBppRXOEb4P0kBFWic4hmbIeQiBvDhpYz\nZ98gJ0irchJaXLB6kigjN9TnJ6CGAfIGywjBlr34906u2luF+m//4HqnO3Vg6NV2\ntXGGTe0dlkAkVN+fRYbHHvQa0yiqwc5MW7qYH7Hs6ZT5OYbuzvSIxMbmkzP0hEIn\ntUGdkdea8Gg5lV8Lrp7h4nyY1Coq39P2OjNxf8KSx7BnL0DjYguN6rsscoBCkV1V\nnXCFSpvkOxzek2SRi/64TnpJzdj5dr2eCatyk+hHC5abQreOKnlxFmd49CSkuH7t\nL1omIUtFR2A4sp5Q5M9hJhKQw0KyZLwRoA5SJEdFNCEPnYSNnzVoPfXj87hkGLD7\niJLOhEF2mo2gp1T0dTpkmnrgGKbljTr1jS3Zf13kXRjzXQwBzPXVv/n79vsvkewY\nh31fJU+cysPX/lekSX7G9w1/cCZOHOMm6HWa3I3NIz2WV6bbTSHGd+kcl7eTSBEx\npy+VszgwX0kloOE4JU8BQZ1MvkvAc3B4Sx60Nl2fQISi/OtoXqKRWp271MZ+xL99\ncIazQKf+EWgR1Qo6pyID+ZUGXdNBgRzhrM84aBsrB4uT+CBUyaasNbEYtsQYvY8Z\nZfgMtLNmnZklt/dZ8vWbXXYXk4jT+KZlkMjmc0HlZI436v4ub63HfGT8/A8I7qLF\nE/aNMT6CaOfv1+pJLzPD4a1pdcCTx8zA/Olp42N2+QNK9rKeQZaDOhCxnEHhVS4Z\ngcBNDL4plRM+ivs/OMRJQlBzpWBdNhudjdw+f4zHXVd3+uRIhYkiZdnyLkRlIg8U\nA3I29P0AVKcM0OvssxRv3ZF8muhq0UxMvhANsBzQrzBIywJV+oW5rrpyqgSJh3XC\nw3kKSlNtohpj1/iugMiq14ZeF8iA3/KA2o0h4g794x4xYvyBzG80fglj4lqpSM8t\njsupxh2F9/IU0++vhRkuew==\n\n-----END CERTIFICATE-----",
            "first_seen": "2023-01-29T09:09:43.000000Z",
            "last_seen": "2023-10-07T20:57:01.000000Z",
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.000000Z"
        },
        {
            "id": "9d0a0333-b7ad-44cc-b075-cf87b465b45f",
            "company_id": "21",
            "common_name": "runolfsdottir.com",
            "organization": "DuBuque PLC",
            "organizational_unit": null,
            "locality": "Sengertown",
            "state": "Michigan",
            "country": "JM",
            "serial": "PPN1ISQZB0VHGFVWSVSYHRWXETQOSYJT",
            "not_valid_before": "20230226T105253Z",
            "not_valid_after": "20241209T141858Z",
            "value": "-----BEGIN CERTIFICATE-----\nikeFCq0ydNX1kuzD5+O2Ny2Bak7ZPaf7FEZ7NWJP6nEqvsIOTp7rYWW5lB0ObACg\nERM+S/O4rQnB547AIcMZIamzdDCSzC6n0L81klIRhiUPRAEtaI2SaZfXDcMh+Faq\nMrf0AazRge+NJo/Kw8zXNIiaV34PJeyIumn+YLoGhgBv4z0jrgkaH66YuKJiKY1+\nLYt/S3h1ZeAKl5ReMq8UzuCYXN/18ievapW6GXAvVas08Hwa6V23HDSDtExSPENL\nXihYoBYK+CKlArelPjkCvpvblToeQXUyRCkr+1Jo3gf+EiqtF9vJ646irL6fQzz6\ndhibOFEZirydpCmIj63MfO7h8WjW8A+zR16jBKEcXwAvVzFXwuakpjowFVcvDc0M\nOLN6YMrcQtS95xv8toi8iTzqU3fpjiT0YVjqklqctirYHCCYCZUsOoSquNE55AlQ\n0tBX9rnwgz1ZyHCftsaYd7kvSQe/wRhgnMo+GU2oAnc2kIVhxRZgLP5+331lq76P\nw9iG3+6wQ+ScdWUul/0AV2JT2yI6tBjspnB1wWGoM2gPr2aS7uwyeMY5JbNU0y3d\nwkGwfXYuT52/dqGEfNEf3lnhIAJUS6ZIVnQ0TpsPLD5MSiyTXz4gkOaVXUiPFbZC\nXEVeclWd4cRvV3pJez6Wsiii/YG+5UqDxs6bDO1yzjnzSXt4kDsZfuUop8XO62vP\nKl/mymCRGMAR2/3mx794X5qXVv8lycgbUK7Fz0FQ0yv2KJoFLGikHqXWKP/QgjCg\nUvaUzrWLPTdXBbWse2qzcMnl/DzNmqf6ooQ6ruwYxRImdfrCTVhRI2GYY1nnjO+d\nIFYmZRP2yiSF2m1rA5BOXUETKdWkjcIBoiw4HLQ0RFRZ1Tl/KATNBlax1oB5MJYm\nAqyUN9bnC3wim1BqsTCLOGotgEfQMsc0bCXrEg/pH6qGimAbfZT/G6ASfli0yots\nItVQDMNCbGocEzrCoBpmdaUI7bWl7Xs6cKWYz3Mrqhnb3pVrQIbIs1HdBd5CAwdr\nNnxPZzHqCammCeRREwzFQlQaN2UQqOJ6TULwtb4ieug06p2R2TpjZ+8s8lpGzKaa\ncMPXoAY6FgS3cgPgkjbkJxSWvPWhYQRtp4mOqamvuDNEJzxiFhkUt7gwgr52nPAw\nW29dle0RAIIChgFp9bkLB9g2JzQ/LplHk5bWj/cPpTnz+LM0lvYbDHj+2NRD0YP0\n5vCcNJqcjJMNg7CAMjf2SlbNlgy3SBRA0vA6q8YHoEptUFMNEP6pvZar9zFKN31w\ncJhByXs3uFuDY3W7tu5Rd12i8eycAvKeOkWu/PirveyEj8JRaX3jC2j2z6Bszr5H\nO9JJRZmHomTFIMmcd/gkvw==\n\n-----END CERTIFICATE-----",
            "first_seen": "2023-05-02T03:02:55.000000Z",
            "last_seen": "2023-11-16T01:21:51.000000Z",
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.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:
xlsx
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=xlsx&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
                                                                                                                    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:
alias

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/alias?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0333-bd63-4a59-85ee-dee0d2b57144",
        "company_id": "22",
        "common_name": "beatty.com",
        "organization": "Auer, Jenkins and Barton",
        "organizational_unit": "Ltd",
        "locality": "New Camden",
        "state": null,
        "country": "MX",
        "serial": "7WP3SIZI2LSZTSGJULU9RXRJASDMTMMS",
        "not_valid_before": "20240701T020353Z",
        "not_valid_after": "20241218T230535Z",
        "value": "-----BEGIN CERTIFICATE-----\nFkPYgsJzfVCw+RAz2diSAfX9An321bPRucN1SnAzSP+wWXg2PrUw1cma/0vQM/Qa\nequ6phb+KjjTSZjzqmflW4AWjuHjUpyTIkcuYTj0SfMSYadS6oNmjv0sbRw6nz8B\nAqJ+bG9KU+Z59nwuvIYXpOqUDs1GXlUS1WXb57VV6o4OsrnLbL2zgS9sQXDDsWjX\nZuWtrv9GG9ocFWHajBkU5fGIIaHCj5KIwrHoDcyHjsTsrkvXHgV4YmG09E2hfCQj\n4zZavJYMFeoiufOBD9zikBzhZxp5/HihFlPe6SF91vI63EUEwLv2aOi0YNKy9g8a\n+OMEgYMeU6bClZqJyhmoEQRSUizlzle7St7O9L8JHfPYBl/yutiaaW67YSKyroBD\n+v8t9r0CCOoiTdBrIex0FH0fmkdC2H5rYLpFkQov8o58rYl2ZzKb8xDUax/YoH+X\n/2Tu3UCB9hW4yEiRhMkPPnO15/YRDRcpFLzik66YNZVAuIyUXTcmwKRj5Ktt4ISL\nfCxDtPtowULDsxWLDy3hR9gTonwhBjG+T0U4nRC5xmdM8yNiaRVa+FIBrzVAPiZe\nqbZjZOFGs2LHjdkkBS8UL5Znzip9n6n8GrjWedxB3G8J0Xm0gORpqeP7vtd0Hevr\nnFVPePkcJO9OlXu++nTSzaFpHbmftbo3azuSa86rmN8smZXjK2xE6nNP9XPna/iy\n+PJ7rarAonzX1748/hDer5zIkKVwiqMb/fj4FLgtPDi5hdxLLFevQiQB8OG2cZG+\nMuoiZsBrZXXf/n5kbno5ndioDVYv0GiI4B/H7bXiYGB38byzhqGjc96/DcItz0nO\nWtFw2bPrnpmuBrFsX/qfGJ2NE1Fu7Rz7cKxkA4TSQN/XoMEekEh9B1POek6UR9jt\nGev2sANIvUvoNI3rWkDCiB469BygiJIiFLnaKZSWhYxbZq5f2l5lDm8PVQWiPvrT\niGOKOewd3cboFwkPXBljaDiXcwF+oF04VPHV6DB2JIpeMXg5SvjTLvzazBR43nGr\npu1vPMY+Qvg739g0kWGd1IX3XKfUGGNh+ODOV3zWEyzqW8uMUzLdLcC4EF2/wzTG\ncsPyS0pdQeXSsTbjDs7xf09yfVCJBa1bPTjY8u0IYHs/6pUaLijvGYhwBJKwNOG0\nfygm0YnSLd/4mwEEbSs9EvR9KS3L9ayX95Sjvps593dr1v35KnzvPcOcXz5PQrlg\nT9w5RZTPsOcd/tV9cwappA11nPUrWljTOR9gccvGtbdESHFiiKoADmxSWzC2Gnjp\nS3Dfj4sLD9sy6I2jUU3/IeD8HvnHizSRUnVoyNzLNpbRwTb1tOKu5I79uT0avb59\n/ZdGv0cgd5o+xmWjHrfC4Q==\n\n-----END CERTIFICATE-----",
        "first_seen": "2024-09-01T12:26:16.000000Z",
        "last_seen": "2024-09-06T04:03:00.000000Z",
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.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:
sunt
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/certificates/sunt" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

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:
company.type
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/me?include=company.type" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "f7cad485-46a1-47da-80a7-847448a7f6b4",
        "company_id": "1",
        "managing_company_id": "1",
        "first_name": "Kenneth",
        "last_name": "Kuphal",
        "two_factor_enabled": false,
        "email": "mdietrich@hotmail.com",
        "email_verified_at": "2024-09-18T12:41:28Z",
        "phonenumber": "240-601-3582",
        "phonenumber_verified_at": "2024-09-18 12:41:28",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "1",
                "uuid": "ca224668-94a0-49cb-b76d-b3ba9b1e4b61",
                "name": "Strosin-Koepp",
                "count_detections": null
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "abilities": [],
        "need_to_configure_2fa": false,
        "created_at": "2024-09-18T12:41:28Z",
        "updated_at": "2024-09-18T12:41:28Z"
    },
    "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\": \"s\",
    \"password\": \",F[cmzZ-[v|||.\",
    \"phonenumber\": \"+31612345678\",
    \"managing_company_id\": \"1\",
    \"report_interval\": \"weekly\",
    \"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:
voluptatem
filter[business_impact]
Filter by business impact.
Example:
high
filter[system_tag]
Filter tags that are default.
Example:
1
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=voluptatem&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": "9d0a0333-c467-4cac-9470-ca5d1961093e",
            "company_id": "23",
            "name": "ipsum",
            "description": "Et et omnis autem ab enim maxime iste. Quibusdam numquam sed tempora eaque temporibus. Eveniet culpa rerum nemo. Minus recusandae non eius omnis et ut.",
            "business_impact": "medium",
            "system_tag": false,
            "asset_count": 0,
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.000000Z"
        },
        {
            "id": "9d0a0333-c689-4ea8-bf4a-0eba5bf411ba",
            "company_id": "24",
            "name": "quos",
            "description": "Saepe totam aut iusto aut. Voluptatem reiciendis quasi molestiae qui officia beatae provident. Atque assumenda laborum blanditiis dolorum. Magni est delectus doloribus voluptates non fuga.",
            "business_impact": "medium",
            "system_tag": true,
            "asset_count": 0,
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.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\": \"tulijrqptugzntufucg\",
    \"description\": \"Dolores est alias porro.\",
    \"business_impact\": \"medium\"
}"
Example response:
{
    "data": {
        "id": "9d0a0333-cb44-44b2-8519-b77efc3db05c",
        "company_id": "25",
        "name": "ea",
        "description": "Molestiae iste et voluptatibus id id. Maiores sint voluptates officiis quis alias officiis optio aut. Quod doloremque doloribus neque autem iste.",
        "business_impact": "low",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.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:
aut

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/aut?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0333-cea7-4008-b7cd-3be5c4361737",
        "company_id": "26",
        "name": "magnam",
        "description": "Tempora amet sed minima nesciunt id numquam autem omnis. In nam explicabo velit sed molestiae dolores. Placeat accusamus iusto eos est. Modi rerum eveniet sit et inventore.",
        "business_impact": "medium",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.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\": \"hiraddyh\",
    \"description\": \"Et facere asperiores eum esse labore aspernatur.\",
    \"business_impact\": \"high\"
}"
Example response:
{
    "data": {
        "id": "9d0a0333-d2bf-47f9-b68d-9063fcda55e5",
        "company_id": "27",
        "name": "rerum",
        "description": "Reprehenderit est maxime et sed quam. Quidem quia molestiae expedita aliquam ab officia. Aspernatur voluptatem vel corporis id porro.",
        "business_impact": "low",
        "system_tag": false,
        "asset_count": 0,
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.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:
laboriosam
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/tags/laboriosam" \
    --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
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&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": "6f76fa72-971e-4743-bff4-84ff47e7991b",
            "company_id": "9",
            "managing_company_id": "9",
            "first_name": "Asia",
            "last_name": "Schumm",
            "two_factor_enabled": false,
            "email": "kurtis.leffler@gmail.com",
            "email_verified_at": "2024-09-18T12:41:28.000000Z",
            "phonenumber": "386-827-1751",
            "phonenumber_verified_at": "2024-09-18 12:41:28",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "9",
                    "uuid": "75a30458-f450-4529-b596-60d50c108fa1",
                    "name": "Ondricka Ltd",
                    "count_detections": null
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "created_at": "2024-09-18T12:41:28.000000Z",
            "updated_at": "2024-09-18T12:41:28.000000Z"
        },
        {
            "id": "3d3f9284-443d-4ecc-a22f-6eec4eb30aa0",
            "company_id": "10",
            "managing_company_id": "10",
            "first_name": "Immanuel",
            "last_name": "Eichmann",
            "two_factor_enabled": false,
            "email": "jmcclure@yahoo.com",
            "email_verified_at": "2024-09-18T12:41:28.000000Z",
            "phonenumber": "+1 (601) 786-4286",
            "phonenumber_verified_at": "2024-09-18 12:41:28",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "10",
                    "uuid": "ebf0ab70-3cd0-420e-b3cb-76b67bffbc8d",
                    "name": "Bergstrom PLC",
                    "count_detections": null
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "created_at": "2024-09-18T12:41:28.000000Z",
            "updated_at": "2024-09-18T12:41:29.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\": \"ulijmgigg\",
    \"last_name\": \"fudsubecwxuka\",
    \"email\": \"hand.xavier@example.com\",
    \"phonenumber\": \"+31612345678\",
    \"report_interval\": \"quarterly\",
    \"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:
48103391-1f6c-37e0-b7b9-0c0c801ab67e

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/48103391-1f6c-37e0-b7b9-0c0c801ab67e?include=company" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "73800853-e45e-457e-8604-ea6e2f85f2c0",
        "company_id": "11",
        "managing_company_id": "11",
        "first_name": "Laverne",
        "last_name": "Spinka",
        "two_factor_enabled": false,
        "email": "arlo20@hotmail.com",
        "email_verified_at": "2024-09-18T12:41:29.000000Z",
        "phonenumber": "986.243.4337",
        "phonenumber_verified_at": "2024-09-18 12:41:29",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "11",
                "uuid": "e6f5ec38-a7c3-4dd1-b27e-2154caed35b1",
                "name": "Ferry-Feest",
                "count_detections": null
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.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:
99597872-2b1b-38f8-ad8a-cf80719493b1

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/users/99597872-2b1b-38f8-ad8a-cf80719493b1" \
    --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:
f4f9bb23-09ac-3dcb-aa6c-9a100665ae34
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/users/f4f9bb23-09ac-3dcb-aa6c-9a100665ae34" \
    --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:
name
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=name" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9d0a0333-7dbb-4e2b-99eb-0f3047b09cb6",
            "company_id": "12",
            "name": "6 due to improper cum handling",
            "port": "58203/tcp",
            "cvss_base_score": 9.1,
            "cvss_base_vector": "AV:L/AC:H/Au:M/C:N/I:N/A:N",
            "qod_type": "remote_active",
            "qod_value": 67,
            "threat": "Low",
            "description": "Earum atque culpa aliquid sed magni nemo. Omnis est cupiditate expedita assumenda expedita optio. Nobis eveniet aut sed dicta ea dignissimos recusandae. Consequuntur porro esse accusantium quia ipsa quidem.",
            "host": "137.29.10.126",
            "hostname": "ziemann.info",
            "status": "Expired",
            "scanner_id": "1",
            "scanner_hostname": "scanner-tkey-619.example.com",
            "plugin": {
                "id": "9d0a0333-75fc-4ace-ac0f-3919ecd8982a",
                "o_id": "22173218-5dd9-302f-83d8-807b0215b73a",
                "name": "6 due to improper cum handling",
                "family": "6",
                "reference_urls": "http://www.nienow.com/placeat-incidunt-dolor-error-nobis, http://romaguera.com/",
                "reference_cves": "CVE-2020-8237, CVE-2015-1894",
                "solution_type": "Mitigation",
                "solution_description": "Esse velit sed optio dolorem quasi amet. Ut rerum eaque architecto quisquam quibusdam. Deleniti sapiente ut quod. Reiciendis aut vero cum dolores provident nemo illum. Deleniti quaerat at voluptatibus.",
                "summary": "Aut quidem ipsam quo nihil facilis. At nam ut pariatur voluptate reiciendis et. Alias inventore alias repellendus suscipit eveniet inventore quo.",
                "insight": "Quo quam explicabo doloremque asperiores facere quia eveniet. Voluptatem fugit ut accusamus ut maiores. Et aut vitae eum tenetur quae.",
                "affected": "Quaerat ut aliquam dignissimos ea earum. Et officiis et laboriosam sit. Excepturi qui quas iusto totam dolores qui.",
                "impact": "Incidunt eius laudantium ipsa delectus inventore omnis. Est ut quam eaque rerum vel quo quidem. Ullam recusandae assumenda aliquam provident tenetur nemo magni. Consequatur perferendis ex quia saepe est praesentium quis.",
                "vuldetect": "Sed dicta quia voluptatum exercitationem suscipit explicabo. Dicta eveniet mollitia itaque quo. Qui atque et aspernatur eius.",
                "priority": "Low"
            },
            "first_seen": "2024-08-05T15:43:58.000000Z",
            "last_seen": "2024-08-16T10:50:10.000000Z",
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.000000Z"
        },
        {
            "id": "9d0a0333-826f-4c4e-afe9-c3ddd333270e",
            "company_id": "13",
            "name": "NoSQL Injection via ut input",
            "port": "80/tcp",
            "cvss_base_score": 3.9,
            "cvss_base_vector": "AV:L/AC:H/Au:S/C:N/I:P/A:N",
            "qod_type": "exploit",
            "qod_value": 45,
            "threat": "High",
            "description": "Perferendis quas voluptas cumque dignissimos cum architecto. Explicabo necessitatibus et sit provident nulla repellat harum. Quis sint deleniti eum et ad voluptatum.",
            "host": "16.219.71.27",
            "hostname": "lakin.info",
            "status": "Detected",
            "scanner_id": "2",
            "scanner_hostname": "scanner-nlwn-503.example.com",
            "plugin": {
                "id": "9d0a0333-7f39-49fa-b0ec-b0190e5953d1",
                "o_id": "70cf9384-2209-33eb-aa32-73e2d3f494ce",
                "name": "NoSQL Injection via ut input",
                "family": "NoSQL Injection",
                "reference_urls": "http://kling.org/et-sed-dolores-tenetur-hic-itaque-consequuntur, http://www.durgan.com/repudiandae-aperiam-repellendus-distinctio-amet",
                "reference_cves": "CVE-2016-3446, CVE-2018-7278",
                "solution_type": "WorkAround",
                "solution_description": "Pariatur aperiam aut officia delectus fuga. Vero enim atque incidunt nemo asperiores. Et qui unde omnis voluptatem distinctio cum.",
                "summary": "Culpa nostrum ea eius omnis dolor dolore ad. Necessitatibus autem dolor iste. Doloremque aut omnis quod enim dignissimos et aspernatur. Corrupti nihil sapiente expedita excepturi id et voluptatem aut.",
                "insight": "Dolorum aliquid nihil voluptatibus sint. Praesentium perferendis architecto labore ut aut dolores amet.",
                "affected": "Sed molestias unde quia beatae quia. Repellendus ipsam voluptatem quo eum non molestiae rerum. Recusandae illum quas voluptatem eum exercitationem eos.",
                "impact": "Inventore illum quia eum. Rem ut debitis alias at enim error. Quis maiores cupiditate fugiat.",
                "vuldetect": "Necessitatibus voluptatum voluptatem omnis sit omnis et aut. Qui sunt necessitatibus omnis neque ad dolorum et. Rem dignissimos et facilis sunt pariatur et qui voluptatem.",
                "priority": "High"
            },
            "first_seen": "2024-08-01T11:52:08.000000Z",
            "last_seen": "2024-09-03T10:23:47.000000Z",
            "created_at": "2024-09-18T12:41:29.000000Z",
            "updated_at": "2024-09-18T12:41:29.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 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:
Detected
filter[threat]
Filter vulnerabilities by their threat level
Must be one of:
  • Log
  • Low
  • Medium
  • High
  • Critical
Example:
Log
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:
cvss_base_score

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=Detected&filter%5Bthreat%5D=Log&filter%5Bscan_id%5D=123&filter%5Bfamily%5D=SQL+Injection&sort=cvss_base_score" \
    --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 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:
tenetur

Response Fields

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/vulnerabilities/tenetur" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0333-8c36-4803-b6bf-f4e0ed1d0647",
        "company_id": "14",
        "name": "6 via a input",
        "port": "general/tcp",
        "cvss_base_score": 9,
        "cvss_base_vector": "AV:L/AC:L/Au:N/C:C/I:C/A:N",
        "qod_type": "registry",
        "qod_value": 26,
        "threat": "Medium",
        "description": "Quasi qui nemo enim natus. Et quam sit id accusamus quibusdam officiis. Consequatur rerum ut error ut illo odio.",
        "host": "8.243.255.70",
        "hostname": "morissette.info",
        "status": "Unresolved",
        "scanner_id": "3",
        "scanner_hostname": "scanner-sqwb-898.example.com",
        "plugin": {
            "id": "9d0a0333-88fb-4c00-b11a-5157ca7e43bb",
            "o_id": "1da41dc9-58ec-3d53-bac6-2572a150a753",
            "name": "6 via a input",
            "family": "6",
            "reference_urls": "http://www.stroman.biz/sit-nulla-deleniti-recusandae-eos, https://www.cassin.biz/aut-nobis-at-ducimus-voluptatem-voluptate",
            "reference_cves": "CVE-2020-7723, CVE-2015-7281",
            "solution_type": "Mitigation",
            "solution_description": "Repellat illum sequi quasi animi et exercitationem. Voluptatem illum unde quae voluptatem est. Neque delectus fuga temporibus voluptas non provident assumenda.",
            "summary": "Vero quod voluptatem assumenda aperiam ipsam illum. Ullam quaerat sint suscipit nisi eaque quas error doloribus. Sed est est qui error accusantium soluta. Soluta facere sequi ullam rerum at ut.",
            "insight": "Dolor excepturi sit ipsum ipsam et aspernatur. Tenetur autem commodi culpa laboriosam tempore. Itaque optio sunt quo ratione impedit in amet. Tempore dolorum voluptatem fugit adipisci maxime quae deserunt.",
            "affected": "Enim ullam et tempore voluptates mollitia doloremque. Suscipit rem aut quam unde voluptates natus. Sunt et non dolores quo.",
            "impact": "Occaecati vel nostrum est beatae. Vel earum quisquam cupiditate reiciendis qui aspernatur ullam nam. Esse maiores ea consequatur sed eveniet. Qui nam ut molestiae voluptatum mollitia inventore.",
            "vuldetect": "Incidunt hic porro nesciunt esse ratione. Excepturi recusandae quo id aspernatur eveniet excepturi porro. Distinctio consequatur velit pariatur omnis perferendis et molestiae eum.",
            "priority": "Medium"
        },
        "first_seen": "2024-07-18T02:38:52.000000Z",
        "last_seen": "2024-09-17T20:35:41.000000Z",
        "created_at": "2024-09-18T12:41:29.000000Z",
        "updated_at": "2024-09-18T12:41:29.000000Z"
    }
}

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

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

Must be one of:
  • webhook_id
  • event
  • status
Example:
webhook_id
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events?sort=next_retry_at&filter=webhook_id" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "9d0a0332-3f16-4732-907b-0c98b889b678",
            "webhook_id": "9d0a0332-3e74-4e07-8781-d777f1612241",
            "event": "sit",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2024-09-18T12:41:28.000000Z",
            "updated_at": "2024-09-18T12:41:28.000000Z"
        },
        {
            "id": "9d0a0332-4188-425f-8f60-4c0b6c78d37d",
            "webhook_id": "9d0a0332-40fd-4e93-93e5-14e1a1dfbf3f",
            "event": "rerum",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2024-09-18T12:41:28.000000Z",
            "updated_at": "2024-09-18T12:41:28.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:
9d0a0332-3f16-4732-907b-0c98b889b678
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events/9d0a0332-3f16-4732-907b-0c98b889b678" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0332-4b15-4c23-ac4f-352c9bdd0cca",
        "webhook_id": "9d0a0332-4a68-493b-8fff-3e6471cfd232",
        "event": "rerum",
        "payload": {
            "key": "value"
        },
        "status": "pending",
        "retries": 0,
        "next_retry_at": null,
        "last_sent_at": null,
        "created_at": "2024-09-18T12:41:28.000000Z",
        "updated_at": "2024-09-18T12:41:28.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": "9d0a0332-2761-47b5-9ae8-c2e2ebc534ea",
            "company_id": "4dc48305-1096-4b5b-98a6-709d3760f527",
            "url": "https://schmitt.net",
            "description": null,
            "events": [],
            "secret": "d8de6f50f2ca24d87cc67bf1571de1459d6097dd620ac85af3c69ea2043d0173",
            "last_sent_at": null,
            "created_at": "2024-09-18T12:41:28.000000Z",
            "updated_at": "2024-09-18T12:41:28.000000Z"
        },
        {
            "id": "9d0a0332-2a67-4df3-9ab2-24a33bf546c1",
            "company_id": "fba44420-ad04-4008-9f6b-398aa5cbe250",
            "url": "https://dach.net",
            "description": null,
            "events": [],
            "secret": "cc054422b0c6f6a35f217c5ad179ef9b219cc4961a3c27f4747c8a2790afd68c",
            "last_sent_at": null,
            "created_at": "2024-09-18T12:41:28.000000Z",
            "updated_at": "2024-09-18T12:41:28.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:\\/\\/ratke.org\\/qui-ipsa-est-quidem-quia.html\",
    \"description\": \"Quia quam ex nostrum qui autem.\"
}"
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:
9d0a0332-2761-47b5-9ae8-c2e2ebc534ea
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhooks/9d0a0332-2761-47b5-9ae8-c2e2ebc534ea" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0332-314b-4039-8570-ad6d339f80e5",
        "company_id": "03dbd4b7-b971-4373-bda1-eb29d9d876a8",
        "url": "https://hyatt.com",
        "description": null,
        "events": [],
        "secret": "f54b001cf1fd203cbbed35a2ca1c321ee175114ceff194d1cef3e27601c1e059",
        "last_sent_at": null,
        "created_at": "2024-09-18T12:41:28.000000Z",
        "updated_at": "2024-09-18T12:41:28.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:
9d0a0332-2761-47b5-9ae8-c2e2ebc534ea
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/9d0a0332-2761-47b5-9ae8-c2e2ebc534ea/rotate-secret" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "9d0a0332-3517-4f19-8a63-58d90855ace8",
        "company_id": "745116a4-24ec-4649-9c8b-067b1cdfe5f8",
        "url": "https://armstrong.com",
        "description": null,
        "events": [],
        "secret": "31c3a9b67c785a8f816e57963224d465a7169d48c2b736c05de90b0897325412",
        "last_sent_at": null,
        "created_at": "2024-09-18T12:41:28.000000Z",
        "updated_at": "2024-09-18T12:41:28.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:
9d0a0332-2761-47b5-9ae8-c2e2ebc534ea
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/9d0a0332-2761-47b5-9ae8-c2e2ebc534ea/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:
9d0a0332-2761-47b5-9ae8-c2e2ebc534ea

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/webhooks/9d0a0332-2761-47b5-9ae8-c2e2ebc534ea" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/hintz.com\\/ducimus-est-modi-rem-quo-blanditiis-quia-eaque-explicabo\",
    \"description\": \"Aut autem quas qui architecto voluptas.\"
}"
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:
9d0a0332-2761-47b5-9ae8-c2e2ebc534ea
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/webhooks/9d0a0332-2761-47b5-9ae8-c2e2ebc534ea" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "message": "webhook not found"
}