Nebulock Rules API

Create, validate, and run detection rules (Sigma / scheduled SQL).

Operations 10

POST /public/v1/rules/validate Validate rule content (Sigma YAML or SQL) without persisting a rule. #
POST /public/v1/rules Create a rule in your organization (sigma, scheduled_sql, signal_combination). #
GET /public/v1/rules List rules for the authenticated organization. #
GET /public/v1/rules/{rule_id} Get a rule by ID (latest version unless a version is given). #
DELETE /public/v1/rules/{rule_id} Delete a rule (all versions) in your organization. #
PATCH /public/v1/rules/{rule_id} Update a rule in your organization. #
POST /public/v1/rules/{rule_id}/test_sql_rule Run an on-demand test execution for a scheduled_sql rule. #
POST /public/v1/rules/{rule_id}/runs Trigger a retroactive run of a scheduled_sql rule. #
GET /public/v1/rules/{rule_id}/runs List scheduled-sase runs for a scheduled_sql rule (metadata only). #
GET /public/v1/rules/{rule_id}/runs/{rule_run_id} Get row-level results for a single scheduled-sase run. #

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-rules-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-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nebulock Public Entities Rules 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: Rules
  description: Create, validate, and run detection rules (Sigma / scheduled SQL).
paths:
  /public/v1/rules/validate:
    post:
      operationId: validate_rule_public_api
      summary: Validate rule content (Sigma YAML or SQL) without persisting a rule.
      tags:
      - Rules
      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/rules:
    post:
      operationId: create_rule_public_api
      summary: Create a rule in your organization (sigma, scheduled_sql, signal_combination).
      tags:
      - Rules
      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_rules_public_api
      summary: List rules for the authenticated organization.
      tags:
      - Rules
      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/rules/{rule_id}:
    get:
      operationId: get_rule_public_api
      summary: Get a rule by ID (latest version unless a version is given).
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
    delete:
      operationId: delete_rule_public_api
      summary: Delete a rule (all versions) in your organization.
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
    patch:
      operationId: update_rule_public_api
      summary: Update a rule in your organization.
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
  /public/v1/rules/{rule_id}/test_sql_rule:
    post:
      operationId: test_sql_rule_public_api
      summary: Run an on-demand test execution for a scheduled_sql rule.
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
  /public/v1/rules/{rule_id}/runs:
    post:
      operationId: run_rule_scheduled_sase_public_api
      summary: Trigger a retroactive run of a scheduled_sql rule.
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_rule_runs_scheduled_sase_public_api
      summary: List scheduled-sase runs for a scheduled_sql rule (metadata only).
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
  /public/v1/rules/{rule_id}/runs/{rule_run_id}:
    get:
      operationId: get_rule_run_results_scheduled_sase_public_api
      summary: Get row-level results for a single scheduled-sase run.
      tags:
      - Rules
      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: rule_id
        in: path
        required: true
        schema:
          type: string
      - name: rule_run_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