OpenGraph (Experimental)
Community
Enterprise

Upserts the OpenGraph Extension

Changed on

Experimental - Upserts the OpenGraph extension.

The request body may be a JSON extension payload or a ZIP bundle. A ZIP bundle must contain schema.json, without embedded optional components, and may contain pz_rules.json and saved_queries.json. Recognized components may be at the ZIP root or one folder deep. For ZIP bundles, findings require pz_rules.json with at least one rule. Duplicate components and unexpected files are rejected.

The root __MACOSX entry and everything under __MACOSX/, along with hidden files at the ZIP root, are ignored. Top-level directory entries are ignored; deeper directory entries and files more than one folder deep are rejected. All other files remain subject to normal component validation.

Each recognized ZIP component is limited to 10 MiB after decompression; an oversized component is rejected as a bad request.

put/api/v2/extensions

Request

  • Base URL: / (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/v2/extensions
  • Auth: one of:
    • HTTP bearer
    • API key in header Authorization and API key in header RequestDate and API key in header Signature

Request body

Example request

{
  "schema": {
    "name": "OpenGraph_Extension",
    "display_name": "OpenGraph Extension",
    "version": "v1.0.0",
    "namespace": "OGE"
  },
  "node_kinds": [
    {
      "name": "OGE_Computer",
      "display_name": "OGE Computer",
      "description": "An OpenGraph Extension Computer object",
      "icon": "Desktop",
      "color": "#FF0000"
    }
  ],
  "relationship_kinds": [
    {
      "name": "OGE_ConnectedTo",
      "description": "An OpenGraph Extension ConnectedTo edge"
    }
  ],
  "environments": [
    {
      "environment_kind": "OGE_Environment",
      "source_kind": "OGExtension",
      "principal_kinds": [
        "OGE_User",
        "OGE_Computer"
      ]
    }
  ],
  "relationship_findings": [
    {
      "name": "OGE_Malicious_Finding_1",
      "display_name": "Malicious Finding 1 (OG Extension)",
      "relationship_kind": "OGE_ConnectedTo",
      "environment_kind": "OGE_Environment"
    }
  ],
  "queries": [
    {
      "query_key": "critical-assets",
      "name": "Critical Assets",
      "query": "MATCH (n) RETURN n",
      "description": "Lists all critical assets.",
      "category": "Asset Management"
    }
  ]
}

Response

OK

Changes

    • breaking

      the request property type changed from object to array

    • warning

      removed the request property /

    • breaking

      the request property / became required

    • warning

      removed the request property

    • info

      added the new optional request property