curl --request PATCH \
--url https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentSlug": "your-deployment",
"managed_scan_config": {
"diff_scan": {
"enabled": true
},
"full_scan": {
"enabled": true
}
},
"primary_branch": "refs/heads/develop",
"projectName": "organization/project",
"tags": [
"tag"
]
}
'import requests
url = "https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}"
payload = {
"deploymentSlug": "your-deployment",
"managed_scan_config": {
"diff_scan": { "enabled": True },
"full_scan": { "enabled": True }
},
"primary_branch": "refs/heads/develop",
"projectName": "organization/project",
"tags": ["tag"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
deploymentSlug: 'your-deployment',
managed_scan_config: {diff_scan: {enabled: true}, full_scan: {enabled: true}},
primary_branch: 'refs/heads/develop',
projectName: 'organization/project',
tags: ['tag']
})
};
fetch('https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}', 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://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'deploymentSlug' => 'your-deployment',
'managed_scan_config' => [
'diff_scan' => [
'enabled' => true
],
'full_scan' => [
'enabled' => true
]
],
'primary_branch' => 'refs/heads/develop',
'projectName' => 'organization/project',
'tags' => [
'tag'
]
]),
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://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}"
payload := strings.NewReader("{\n \"deploymentSlug\": \"your-deployment\",\n \"managed_scan_config\": {\n \"diff_scan\": {\n \"enabled\": true\n },\n \"full_scan\": {\n \"enabled\": true\n }\n },\n \"primary_branch\": \"refs/heads/develop\",\n \"projectName\": \"organization/project\",\n \"tags\": [\n \"tag\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentSlug\": \"your-deployment\",\n \"managed_scan_config\": {\n \"diff_scan\": {\n \"enabled\": true\n },\n \"full_scan\": {\n \"enabled\": true\n }\n },\n \"primary_branch\": \"refs/heads/develop\",\n \"projectName\": \"organization/project\",\n \"tags\": [\n \"tag\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deploymentSlug\": \"your-deployment\",\n \"managed_scan_config\": {\n \"diff_scan\": {\n \"enabled\": true\n },\n \"full_scan\": {\n \"enabled\": true\n }\n },\n \"primary_branch\": \"refs/heads/develop\",\n \"projectName\": \"organization/project\",\n \"tags\": [\n \"tag\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"project": {
"id": 1234567,
"name": "returntocorp/semgrep",
"tags": [
"tag"
],
"created_at": "2020-11-18T23:28:12.391Z",
"default_branch": "refs/heads/main",
"latest_scan_at": "2023-01-13T20:51:51.449Z",
"managed_scan_config": {
"diff_scan": {
"enabled": true
},
"full_scan": {
"enabled": true
}
},
"primary_branch": "refs/heads/custom-main",
"url": "https://github.com/returntocorp/semgrep"
}
}Update project details
Update attributes for the project using the value passed in to the request body.
curl --request PATCH \
--url https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentSlug": "your-deployment",
"managed_scan_config": {
"diff_scan": {
"enabled": true
},
"full_scan": {
"enabled": true
}
},
"primary_branch": "refs/heads/develop",
"projectName": "organization/project",
"tags": [
"tag"
]
}
'import requests
url = "https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}"
payload = {
"deploymentSlug": "your-deployment",
"managed_scan_config": {
"diff_scan": { "enabled": True },
"full_scan": { "enabled": True }
},
"primary_branch": "refs/heads/develop",
"projectName": "organization/project",
"tags": ["tag"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
deploymentSlug: 'your-deployment',
managed_scan_config: {diff_scan: {enabled: true}, full_scan: {enabled: true}},
primary_branch: 'refs/heads/develop',
projectName: 'organization/project',
tags: ['tag']
})
};
fetch('https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}', 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://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'deploymentSlug' => 'your-deployment',
'managed_scan_config' => [
'diff_scan' => [
'enabled' => true
],
'full_scan' => [
'enabled' => true
]
],
'primary_branch' => 'refs/heads/develop',
'projectName' => 'organization/project',
'tags' => [
'tag'
]
]),
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://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}"
payload := strings.NewReader("{\n \"deploymentSlug\": \"your-deployment\",\n \"managed_scan_config\": {\n \"diff_scan\": {\n \"enabled\": true\n },\n \"full_scan\": {\n \"enabled\": true\n }\n },\n \"primary_branch\": \"refs/heads/develop\",\n \"projectName\": \"organization/project\",\n \"tags\": [\n \"tag\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentSlug\": \"your-deployment\",\n \"managed_scan_config\": {\n \"diff_scan\": {\n \"enabled\": true\n },\n \"full_scan\": {\n \"enabled\": true\n }\n },\n \"primary_branch\": \"refs/heads/develop\",\n \"projectName\": \"organization/project\",\n \"tags\": [\n \"tag\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/deployments/{deploymentSlug}/projects/{projectName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deploymentSlug\": \"your-deployment\",\n \"managed_scan_config\": {\n \"diff_scan\": {\n \"enabled\": true\n },\n \"full_scan\": {\n \"enabled\": true\n }\n },\n \"primary_branch\": \"refs/heads/develop\",\n \"projectName\": \"organization/project\",\n \"tags\": [\n \"tag\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"project": {
"id": 1234567,
"name": "returntocorp/semgrep",
"tags": [
"tag"
],
"created_at": "2020-11-18T23:28:12.391Z",
"default_branch": "refs/heads/main",
"latest_scan_at": "2023-01-13T20:51:51.449Z",
"managed_scan_config": {
"diff_scan": {
"enabled": true
},
"full_scan": {
"enabled": true
}
},
"primary_branch": "refs/heads/custom-main",
"url": "https://github.com/returntocorp/semgrep"
}
}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
Slug of the deployment name. Can be found at /deployments, or in your Settings in the web UI.
"your-deployment"
Name of the project, typically the repository formatted as a path.
"organization/project"
Body
Slug of the deployment name. Can be found at /deployments, or in your Settings in the web UI.
"your-deployment"
[Beta] Configuration of Semgrep Managed Scans for the project, if relevant.
Show child attributes
Show child attributes
The full name of the branch you would like to set as primary. Use "None" if default_branch is known and you wish to set primary to always be the default branch.
"refs/heads/develop"
Name of the project, typically the repository formatted as a path.
"organization/project"
Tags associated to this project.
["tag"]
Response
OK
Successfully updated details for the project.
A project in your organization that uses Semgrep.
Show child attributes
Show child attributes
Was this page helpful?