Retry Failed SMS Scans
curl --request POST \
--url https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"scanIds": [
12345,
12346
]
}
'import requests
url = "https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry"
payload = { "scanIds": [12345, 12346] }
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({scanIds: [12345, 12346]})
};
fetch('https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry', 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/v2/deployments/{deploymentId}/scans/retry",
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([
'scanIds' => [
12345,
12346
]
]),
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/v2/deployments/{deploymentId}/scans/retry"
payload := strings.NewReader("{\n \"scanIds\": [\n 12345,\n 12346\n ]\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://api.example.com/api/v2/deployments/{deploymentId}/scans/retry")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"scanIds\": [\n 12345,\n 12346\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry")
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 \"scanIds\": [\n 12345,\n 12346\n ]\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
{
"repoId": "<string>",
"scanId": "<string>",
"configId": "<string>",
"branch": "<string>",
"taskId": "<string>",
"managedScanId": "<string>"
}
],
"errors": [
{
"repoId": "<string>",
"scanId": "<string>",
"message": "<string>"
}
]
}Scans
Retry Failed SMS Scans
Retry one or more failed Semgrep Managed Scans (SMS). Only scans that are SMS and have failed or never finished can be retried. Send a single scan ID or multiple; returns one task per successful retry and one error per failed retry.
POST
/
api
/
v2
/
deployments
/
{deploymentId}
/
scans
/
retry
Retry Failed SMS Scans
curl --request POST \
--url https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"scanIds": [
12345,
12346
]
}
'import requests
url = "https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry"
payload = { "scanIds": [12345, 12346] }
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({scanIds: [12345, 12346]})
};
fetch('https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry', 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/v2/deployments/{deploymentId}/scans/retry",
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([
'scanIds' => [
12345,
12346
]
]),
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/v2/deployments/{deploymentId}/scans/retry"
payload := strings.NewReader("{\n \"scanIds\": [\n 12345,\n 12346\n ]\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://api.example.com/api/v2/deployments/{deploymentId}/scans/retry")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"scanIds\": [\n 12345,\n 12346\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v2/deployments/{deploymentId}/scans/retry")
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 \"scanIds\": [\n 12345,\n 12346\n ]\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
{
"repoId": "<string>",
"scanId": "<string>",
"configId": "<string>",
"branch": "<string>",
"taskId": "<string>",
"managedScanId": "<string>"
}
],
"errors": [
{
"repoId": "<string>",
"scanId": "<string>",
"message": "<string>"
}
]
}Authorizations
SemgrepWebTokenSemgrepJWT
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 of the deployment associated with the scan.
Example:
"1234"
Body
application/json
Scan IDs to retry (SMS scans that failed or never finished). Send one ID for single retry or multiple for batch. Maximum 10 IDs per request.
Example:
[12345, 12346]
Was this page helpful?
⌘I