SecureEndpoint
API Access

Build On Top of
Secure Endpoint.

Every finding, asset, scan result, and remediation ticket is accessible via REST API. Build internal dashboards, pipe data into your SIEM, or automate your entire EOL remediation workflow.

Authentication

All API requests require a bearer token. Generate your API key from the dashboard under Settings → API Keys. Keys are scoped to your organization and can be rotated at any time.

Request Header
Authorization: Bearer se_live_xxxxxxxxxxxxxxxxxxxx

Keep your API key secret. Do not expose it in client-side code or public repositories. If a key is compromised, rotate it immediately from the dashboard.

Base URL

All API endpoints are versioned under v1. We maintain backward compatibility within a major version.

https://api.secureendpoint.io/v1
Findings

Findings represent individual EOL/EOS vulnerabilities detected across your endpoint inventory. Each finding includes severity scoring, affected asset count, CVE references, and remediation guidance.

Endpoint Method Description
/findingsGETList all findings, paginated
/findings/{id}GETGet a specific finding by ID
/findings/{id}/assetsGETList all assets affected by a finding
/findings/{id}/dismissPOSTDismiss a finding with a reason
Example Request
GET /v1/findings?severity=critical&limit=25

curl -X GET "https://api.secureendpoint.io/v1/findings" \
  -H "Authorization: Bearer se_live_xxx" \
  -G --data-urlencode "severity=critical"
Example Response
{
  "data": [
    {
      "id": "fnd_8xkQ2p",
      "cve": "CVE-2024-21412",
      "severity": "critical",
      "cvss_score": 9.8,
      "affected_assets": 47,
      "software": "OpenSSL 1.0.2",
      "eol_date": "2020-01-01",
      "status": "open",
      "ticket_id": "INC0423891"
    }
  ],
  "meta": {
    "total": 247,
    "page": 1,
    "per_page": 25
  }
}
Assets

Assets represent individual endpoints in your inventory — servers, workstations, containers, or virtual machines. Each asset carries a full software manifest with EOL status for each component.

EndpointMethodDescription
/assetsGETList all assets
/assets/{id}GETGet asset details and software manifest
/assets/{id}/findingsGETGet all findings for an asset
/assets/{id}/scanPOSTTrigger an on-demand scan
/assets/{id}DELETERemove an asset from inventory
Asset Object
{
  "id": "ast_7mNp4r",
  "hostname": "db-prod-02.internal",
  "ip": "10.0.14.22",
  "os": "Windows Server 2012 R2",
  "os_eol": true,
  "os_eol_date": "2023-10-10",
  "risk_score": 94,
  "open_findings": 12,
  "last_scanned": "2026-03-09T14:22:01Z"
}
Scans

Scans can be triggered manually or run on a schedule. Each scan job returns a scan_id you can poll for status, or configure a webhook to be notified on completion.

EndpointMethodDescription
/scansGETList all scan jobs
/scansPOSTTrigger a new scan
/scans/{id}GETGet scan status and results
Tickets

Remediation tickets are created automatically when findings are detected, or manually via API. Tickets sync bidirectionally with ServiceNow when that integration is enabled.

EndpointMethodDescription
/ticketsGETList remediation tickets
/ticketsPOSTCreate a ticket manually
/tickets/{id}GETGet ticket details
/tickets/{id}/closePOSTMark ticket resolved
Webhooks

Register a webhook URL to receive real-time event notifications. All events are delivered as signed JSON payloads using HMAC-SHA256. Verify the X-SE-Signature header on every incoming request.

Event Types
finding.created       # New EOL finding detected
finding.severity_changed # CVSS score updated
finding.resolved      # Finding remediated and closed
scan.completed        # Scan job finished
ticket.created        # Remediation ticket opened
ticket.closed         # Ticket resolved
Webhook Payload
{
  "event": "finding.created",
  "timestamp": "2026-03-10T09:14:22Z",
  "data": {
    "finding_id": "fnd_8xkQ2p",
    "severity": "critical",
    "cvss": 9.8
  }
}
Errors

The API uses standard HTTP status codes. All errors return a JSON body with a code and message field.

StatusCodeMeaning
400bad_requestInvalid parameters or malformed JSON
401unauthorizedMissing or invalid API key
403forbiddenKey lacks permission for this resource
404not_foundResource does not exist
429rate_limitedToo many requests — see rate limits
500server_errorSomething went wrong on our end
Rate Limits

API requests are rate-limited per API key. Limits are returned in response headers on every request. If you're consistently hitting limits, contact us to discuss higher-tier access.

PlanRequests / minRequests / day
Standard6010,000
Enterprise300100,000
UnlimitedUnlimitedUnlimited
Rate Limit Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 47
X-RateLimit-Reset: 1710065400