Handle Slack OAuth callback
curl --request POST \
--url https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentId": 123,
"state": "<string>",
"code": "<string>"
}
'import requests
url = "https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback"
payload = {
"deploymentId": 123,
"state": "<string>",
"code": "<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: 123, state: '<string>', code: '<string>'})
};
fetch('https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback', 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/agent/deployments/{deploymentId}/slack/oauth/callback",
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' => 123,
'state' => '<string>',
'code' => '<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/agent/deployments/{deploymentId}/slack/oauth/callback"
payload := strings.NewReader("{\n \"deploymentId\": 123,\n \"state\": \"<string>\",\n \"code\": \"<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/agent/deployments/{deploymentId}/slack/oauth/callback")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentId\": 123,\n \"state\": \"<string>\",\n \"code\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback")
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\": 123,\n \"state\": \"<string>\",\n \"code\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"deployment_id": 123,
"app_id": "<string>",
"enterprise_id": "<string>",
"enterprise_name": "<string>",
"enterprise_url": "<string>",
"team_id": "<string>",
"team_name": "<string>"
}Slack
Handle Slack OAuth callback
Processes OAuth callback, exchanges code for access token, and stores installation data
POST
/
api
/
agent
/
deployments
/
{deploymentId}
/
slack
/
oauth
/
callback
Handle Slack OAuth callback
curl --request POST \
--url https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentId": 123,
"state": "<string>",
"code": "<string>"
}
'import requests
url = "https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback"
payload = {
"deploymentId": 123,
"state": "<string>",
"code": "<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: 123, state: '<string>', code: '<string>'})
};
fetch('https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback', 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/agent/deployments/{deploymentId}/slack/oauth/callback",
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' => 123,
'state' => '<string>',
'code' => '<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/agent/deployments/{deploymentId}/slack/oauth/callback"
payload := strings.NewReader("{\n \"deploymentId\": 123,\n \"state\": \"<string>\",\n \"code\": \"<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/agent/deployments/{deploymentId}/slack/oauth/callback")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentId\": 123,\n \"state\": \"<string>\",\n \"code\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/agent/deployments/{deploymentId}/slack/oauth/callback")
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\": 123,\n \"state\": \"<string>\",\n \"code\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"deployment_id": 123,
"app_id": "<string>",
"enterprise_id": "<string>",
"enterprise_name": "<string>",
"enterprise_url": "<string>",
"team_id": "<string>",
"team_name": "<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?
⌘I