Nebulock Hunts API
Threat hunts, hunt suggestions, and hunt reports.
Threat hunts, hunt suggestions, and hunt reports.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/nebulock-hunts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Nebulock Public Entities Hunts API
version: v2
description: 'Public API for the Nebulock AI threat-hunting platform: Findings, Entities (actors/users/hosts), Hunts, hunt suggestions/reports, and detection Rules. Available to active Nebulock customers. Authentication uses per-organization API keys passed in the X-API-Key-ID and X-API-Key-Secret headers. Rate limit: 60 requests per minute.'
contact:
name: Nebulock
url: https://docs.nebulock.io/
servers:
- url: https://api.nebulock.io
description: Production
security:
- ApiKeyId: []
ApiKeySecret: []
tags:
- name: Hunts
description: Threat hunts, hunt suggestions, and hunt reports.
paths:
/public/v1/hunt_suggestions:
post:
operationId: generate_hunt_suggestions
summary: Generate hunt suggestions based on threat intelligence context.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
get:
operationId: list_hunt_suggestions
summary: Retrieve a paginated list of hunt suggestions.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
/public/v1/hunt_suggestions/jobs/{job_id}:
get:
operationId: get_hunt_suggestions_by_job
summary: Retrieve hunt suggestions for a specific job.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: job_id
in: path
required: true
schema:
type: string
/public/v1/hunt_suggestions/{hunt_suggestion_id}:
get:
operationId: get_hunt_suggestion
summary: Retrieve a single hunt suggestion by ID.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_suggestion_id
in: path
required: true
schema:
type: string
/public/v1/hunt_agent_versions:
get:
operationId: get_hunt_agent_versions
summary: Return available agent versions, supported modes, defaults, and deprecation status.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
/public/v1/hunt_reports:
get:
operationId: list_hunt_reports
summary: Retrieve a paginated list of hunt reports.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
/public/v1/hunt_reports/{hunt_report_id}:
get:
operationId: get_hunt_report
summary: Retrieve a single hunt report with markdown content.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_report_id
in: path
required: true
schema:
type: string
/public/v1/hunt_reports/{hunt_report_id}/pdf:
get:
operationId: get_hunt_report_pdf
summary: Download the hunt report as a PDF file.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_report_id
in: path
required: true
schema:
type: string
/public/v1/hunt_reports/{hunt_report_id}/retry:
post:
operationId: retry_hunt_report
summary: Retry generation of a failed hunt report.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_report_id
in: path
required: true
schema:
type: string
/public/v2/hunts:
get:
operationId: list_hunts_v2
summary: Retrieve a paginated list of hunts (default source filter 'manual').
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
post:
operationId: create_hunt_v2
summary: Create a hunt with async directive processing.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
/public/v2/hunts/{hunt_id}:
get:
operationId: get_hunt_v2
summary: Get a hunt with directives, blocks, and user enrichment.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
patch:
operationId: update_hunt_v2
summary: Update a hunt's properties.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
/public/v2/hunts/{hunt_id}/generate_report:
patch:
operationId: generate_hunt_report_v2
summary: Trigger report generation for a hunt.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
/public/v2/hunts/{hunt_id}/directives/{directive_id}:
get:
operationId: get_directive_v2
summary: Get a directive with blocks and user enrichment.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
- name: directive_id
in: path
required: true
schema:
type: string
/public/v2/hunts/{hunt_id}/directives:
post:
operationId: add_directive_v2
summary: Add a new directive (follow-up query) to an existing hunt.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
/public/v2/hunts/{hunt_id}/directives/{directive_id}/retry:
post:
operationId: retry_directive_v2
summary: Retry a directive that has failed processing.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
- name: directive_id
in: path
required: true
schema:
type: string
/public/v2/hunts/{hunt_id}/directives/{directive_id}/stop:
post:
operationId: stop_directive_v2
summary: Stop a directive that is currently being processed.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_id
in: path
required: true
schema:
type: string
- name: directive_id
in: path
required: true
schema:
type: string
/public/v2/hunt_reports/{hunt_report_id}/feedback:
get:
operationId: list_hunt_report_feedback_v2
summary: List append-only feedback rows for a completed hunt report.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_report_id
in: path
required: true
schema:
type: string
post:
operationId: create_hunt_report_feedback_v2
summary: Create append-only feedback for a completed hunt report.
tags:
- Hunts
responses:
'200':
description: Successful response
'401':
description: Missing or invalid API key credentials
'403':
description: Not permitted for this organization
'404':
description: Resource not found
'422':
description: Validation error
'429':
description: Rate limit exceeded (60 requests per minute)
parameters:
- name: hunt_report_id
in: path
required: true
schema:
type: string
components:
securitySchemes:
ApiKeyId:
type: apiKey
in: header
name: X-API-Key-ID
ApiKeySecret:
type: apiKey
in: header
name: X-API-Key-Secret