For AI agents: A markdown version of this page is available at https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/api/latest/static-analysis/create-an-ai-custom-rule-revision.md. A documentation index is available at /llms.txt.
Language
Datadog site

Create an AI custom rule revision

WARNINGNote: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.
POSThttps://api.datadoghq.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.us3.datadoghq.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.us5.datadoghq.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.datadoghq.eu/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.ap1.datadoghq.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.ap2.datadoghq.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.uk1.datadoghq.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.ddog-gov.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisionshttps://api.us2.ddog-gov.com/api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisions

Overview

Create a new revision for an AI custom rule.

Arguments

Path Parameters

Name
Type
Description
ruleset_name [required]
string

The ruleset name.

rule_name [required]
string

The rule name.

Request

Body Data (required)

Field
Type
Description
data
object

Request data for creating an AI custom rule revision.

Response

Successfully created

Code Example

Create an AI custom rule revision
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF
# Path parameters
export ruleset_name="my-ai-ruleset"
export rule_name="my-ai-rule"

# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/static-analysis/ai/rulesets/${ruleset_name}/rules/${rule_name}/revisions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "category": "SECURITY",
      "content": "Content",
      "description": "Ruleset description",
      "directories": [],
      "execution_mode": "auto",
      "globs": [
        "**/*.py"
      ],
      "is_published": false,
      "is_testing": false,
      "severity": "ERROR",
      "short_description": "Ruleset short description",
      "version_id": 1
    },
    "id": "revision-abc-123",
    "type": "ai_rule_revision"
  }
}
EOF