Start Cursor Origin installation
curl --request POST \
--url https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentId": "<string>",
"configId": "<string>"
}
'import requests
url = "https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations"
payload = {
"deploymentId": "<string>",
"configId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({deploymentId: '<string>', configId: '<string>'})
};
fetch('https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations', 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/deployments/{deploymentId}/cursor-installations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'deploymentId' => '<string>',
'configId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations"
payload := strings.NewReader("{\n \"deploymentId\": \"<string>\",\n \"configId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentId\": \"<string>\",\n \"configId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deploymentId\": \"<string>\",\n \"configId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "<string>",
"installationUrl": "<string>"
}Source Code Management (SCM) apps
Start Cursor Origin installation
Create an installation request for the Semgrep app or a configured private app.
POST
/
api
/
deployments
/
{deploymentId}
/
cursor-installations
Start Cursor Origin installation
curl --request POST \
--url https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentId": "<string>",
"configId": "<string>"
}
'import requests
url = "https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations"
payload = {
"deploymentId": "<string>",
"configId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({deploymentId: '<string>', configId: '<string>'})
};
fetch('https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations', 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/deployments/{deploymentId}/cursor-installations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'deploymentId' => '<string>',
'configId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations"
payload := strings.NewReader("{\n \"deploymentId\": \"<string>\",\n \"configId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentId\": \"<string>\",\n \"configId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/deployments/{deploymentId}/cursor-installations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deploymentId\": \"<string>\",\n \"configId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "<string>",
"installationUrl": "<string>"
}This endpoint is experimental. It may change or be removed without notice and is not covered by API stability guarantees.
Authorizations
Get access to data with your user's JSON Web Token.
Path Parameters
Body
application/json
Was this page helpful?