curl --request GET \
--url https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab \
--header 'Authorization: Bearer <token>'import requests
url = "https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"condition_types": [
{
"type": "severity",
"description": "<string>"
}
],
"action_types": [
{
"type": "block",
"description": "<string>",
"requires": [
"pr_comment"
]
}
],
"value_enums": [
{
"type": "severity",
"values": [
"critical",
"high",
"medium",
"low"
]
}
],
"detection_constraints": {
"rulesets_accepted": true,
"exception_types": [
"include",
"exclude"
],
"rule_types": [
"rule",
"pack"
]
}
}Get the policy vocabulary
Returns the condition types, action types, and value enums this API accepts, so bundles can be validated client-side (for example in CI) without a round trip. Without the product query parameter, only the product-agnostic vocabulary is returned; pass product to include its value enums and, for code and secrets, the detection bundle constraints.
curl --request GET \
--url https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab \
--header 'Authorization: Bearer <token>'import requests
url = "https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/policies/v2/deployments/{deploymentId}/vocab")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"condition_types": [
{
"type": "severity",
"description": "<string>"
}
],
"action_types": [
{
"type": "block",
"description": "<string>",
"requires": [
"pr_comment"
]
}
],
"value_enums": [
{
"type": "severity",
"values": [
"critical",
"high",
"medium",
"low"
]
}
],
"detection_constraints": {
"rulesets_accepted": true,
"exception_types": [
"include",
"exclude"
],
"rule_types": [
"rule",
"pack"
]
}
}Authorizations
Get access to data with your API token. Example header:
Authorization: Bearer 2991e2fb4b540fe75b8f90677b0b892b6314e4961cb001fe6eb452eee248a628
The token can be provisioned from the Tokens section in your Settings, and requires explicitly enabling Web API access.
Path Parameters
The unique numerical identifier for the deployment.
1234
Query Parameters
The product to return product-specific value enums and constraints for.
Without it, only the product-agnostic parts of the vocabulary are
returned.
The product to return product-specific value enums and constraints for. One of: code, secrets, remediation. Without it, only the product-agnostic parts of the vocabulary are returned.
"remediation"
Response
OK
The condition types accepted in remediation policy filters.
Show child attributes
Show child attributes
The action types accepted in remediation policies, including their companion requirements.
Show child attributes
Show child attributes
The accepted values per condition type or bundle field. Product-specific: populated only when the product query parameter is set.
Show child attributes
Show child attributes
Structural constraints on detection policy bundles. Populated when the product query parameter is code or secrets.
Show child attributes
Show child attributes
Was this page helpful?