Nebulock Hunts API

Threat hunts, hunt suggestions, and hunt reports.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nebulock-hunts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nebulock-hunts-api-openapi.yml Raw ↑
openapi: 3.1.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