Nebulock Hunts API

Threat hunts, hunt suggestions, and hunt reports.

Operations 20

POST /public/v1/hunt_suggestions Generate hunt suggestions based on threat intelligence context. #
GET /public/v1/hunt_suggestions Retrieve a paginated list of hunt suggestions. #
GET /public/v1/hunt_suggestions/jobs/{job_id} Retrieve hunt suggestions for a specific job. #
GET /public/v1/hunt_suggestions/{hunt_suggestion_id} Retrieve a single hunt suggestion by ID. #
GET /public/v1/hunt_agent_versions Return available agent versions, supported modes, defaults, and deprecation status. #
GET /public/v1/hunt_reports Retrieve a paginated list of hunt reports. #
GET /public/v1/hunt_reports/{hunt_report_id} Retrieve a single hunt report with markdown content. #
GET /public/v1/hunt_reports/{hunt_report_id}/pdf Download the hunt report as a PDF file. #
POST /public/v1/hunt_reports/{hunt_report_id}/retry Retry generation of a failed hunt report. #
GET /public/v2/hunts Retrieve a paginated list of hunts (default source filter 'manual'). #
POST /public/v2/hunts Create a hunt with async directive processing. #
GET /public/v2/hunts/{hunt_id} Get a hunt with directives, blocks, and user enrichment. #
PATCH /public/v2/hunts/{hunt_id} Update a hunt's properties. #
PATCH /public/v2/hunts/{hunt_id}/generate_report Trigger report generation for a hunt. #
GET /public/v2/hunts/{hunt_id}/directives/{directive_id} Get a directive with blocks and user enrichment. #
POST /public/v2/hunts/{hunt_id}/directives Add a new directive (follow-up query) to an existing hunt. #
POST /public/v2/hunts/{hunt_id}/directives/{directive_id}/retry Retry a directive that has failed processing. #
POST /public/v2/hunts/{hunt_id}/directives/{directive_id}/stop Stop a directive that is currently being processed. #
GET /public/v2/hunt_reports/{hunt_report_id}/feedback List append-only feedback rows for a completed hunt report. #
POST /public/v2/hunt_reports/{hunt_report_id}/feedback Create append-only feedback for a completed hunt report. #

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 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 Specification

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