Create package manager auth config
curl --request POST \
--url https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentId": 123,
"packageManagerConfigForInsert": {
"config": {
"id": 123,
"name": "Corporate Maven Repository",
"url": "https://repo.mycompany.com/maven2",
"requiresAuth": true,
"ecosystem": "maven",
"deploymentId": 456,
"useNetworkBroker": false,
"additionalConfig": {
"maven": {
"repositoryType": "MAVEN_REPOSITORY_TYPE_RELEASE"
},
"pypi": {},
"npm": {
"scope": null
}
},
"registryType": "REGISTRY_TYPE_PACKAGE_MANAGER_AUTH"
},
"maven": {
"username": "my-username",
"password": "my-password"
},
"pypi": {
"username": "my-username",
"password": "my-password"
},
"codeArtifact": {
"assumeRoleArn": "arn:aws:iam::123456789012:role/my-codeartifact-role"
},
"npm": {
"token": "<registry auth token>",
"basicAuth": {
"username": "my-username",
"password": "my-password"
}
}
}
}
'import requests
url = "https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs"
payload = {
"deploymentId": 123,
"packageManagerConfigForInsert": {
"config": {
"id": 123,
"name": "Corporate Maven Repository",
"url": "https://repo.mycompany.com/maven2",
"requiresAuth": True,
"ecosystem": "maven",
"deploymentId": 456,
"useNetworkBroker": False,
"additionalConfig": {
"maven": { "repositoryType": "MAVEN_REPOSITORY_TYPE_RELEASE" },
"pypi": {},
"npm": { "scope": None }
},
"registryType": "REGISTRY_TYPE_PACKAGE_MANAGER_AUTH"
},
"maven": {
"username": "my-username",
"password": "my-password"
},
"pypi": {
"username": "my-username",
"password": "my-password"
},
"codeArtifact": { "assumeRoleArn": "arn:aws:iam::123456789012:role/my-codeartifact-role" },
"npm": {
"token": "<registry auth token>",
"basicAuth": {
"username": "my-username",
"password": "my-password"
}
}
}
}
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,
packageManagerConfigForInsert: {
config: {
id: 123,
name: 'Corporate Maven Repository',
url: 'https://repo.mycompany.com/maven2',
requiresAuth: true,
ecosystem: 'maven',
deploymentId: 456,
useNetworkBroker: false,
additionalConfig: {
maven: {repositoryType: 'MAVEN_REPOSITORY_TYPE_RELEASE'},
pypi: {},
npm: {scope: null}
},
registryType: 'REGISTRY_TYPE_PACKAGE_MANAGER_AUTH'
},
maven: {username: 'my-username', password: 'my-password'},
pypi: {username: 'my-username', password: 'my-password'},
codeArtifact: {assumeRoleArn: 'arn:aws:iam::123456789012:role/my-codeartifact-role'},
npm: {
token: '<registry auth token>',
basicAuth: {username: 'my-username', password: 'my-password'}
}
}
})
};
fetch('https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs', 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}/packagemanagerauthconfigs",
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,
'packageManagerConfigForInsert' => [
'config' => [
'id' => 123,
'name' => 'Corporate Maven Repository',
'url' => 'https://repo.mycompany.com/maven2',
'requiresAuth' => true,
'ecosystem' => 'maven',
'deploymentId' => 456,
'useNetworkBroker' => false,
'additionalConfig' => [
'maven' => [
'repositoryType' => 'MAVEN_REPOSITORY_TYPE_RELEASE'
],
'pypi' => [
],
'npm' => [
'scope' => null
]
],
'registryType' => 'REGISTRY_TYPE_PACKAGE_MANAGER_AUTH'
],
'maven' => [
'username' => 'my-username',
'password' => 'my-password'
],
'pypi' => [
'username' => 'my-username',
'password' => 'my-password'
],
'codeArtifact' => [
'assumeRoleArn' => 'arn:aws:iam::123456789012:role/my-codeartifact-role'
],
'npm' => [
'token' => '<registry auth token>',
'basicAuth' => [
'username' => 'my-username',
'password' => 'my-password'
]
]
]
]),
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}/packagemanagerauthconfigs"
payload := strings.NewReader("{\n \"deploymentId\": 123,\n \"packageManagerConfigForInsert\": {\n \"config\": {\n \"id\": 123,\n \"name\": \"Corporate Maven Repository\",\n \"url\": \"https://repo.mycompany.com/maven2\",\n \"requiresAuth\": true,\n \"ecosystem\": \"maven\",\n \"deploymentId\": 456,\n \"useNetworkBroker\": false,\n \"additionalConfig\": {\n \"maven\": {\n \"repositoryType\": \"MAVEN_REPOSITORY_TYPE_RELEASE\"\n },\n \"pypi\": {},\n \"npm\": {\n \"scope\": null\n }\n },\n \"registryType\": \"REGISTRY_TYPE_PACKAGE_MANAGER_AUTH\"\n },\n \"maven\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"pypi\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"codeArtifact\": {\n \"assumeRoleArn\": \"arn:aws:iam::123456789012:role/my-codeartifact-role\"\n },\n \"npm\": {\n \"token\": \"<registry auth token>\",\n \"basicAuth\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n }\n }\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://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentId\": 123,\n \"packageManagerConfigForInsert\": {\n \"config\": {\n \"id\": 123,\n \"name\": \"Corporate Maven Repository\",\n \"url\": \"https://repo.mycompany.com/maven2\",\n \"requiresAuth\": true,\n \"ecosystem\": \"maven\",\n \"deploymentId\": 456,\n \"useNetworkBroker\": false,\n \"additionalConfig\": {\n \"maven\": {\n \"repositoryType\": \"MAVEN_REPOSITORY_TYPE_RELEASE\"\n },\n \"pypi\": {},\n \"npm\": {\n \"scope\": null\n }\n },\n \"registryType\": \"REGISTRY_TYPE_PACKAGE_MANAGER_AUTH\"\n },\n \"maven\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"pypi\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"codeArtifact\": {\n \"assumeRoleArn\": \"arn:aws:iam::123456789012:role/my-codeartifact-role\"\n },\n \"npm\": {\n \"token\": \"<registry auth token>\",\n \"basicAuth\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs")
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 \"packageManagerConfigForInsert\": {\n \"config\": {\n \"id\": 123,\n \"name\": \"Corporate Maven Repository\",\n \"url\": \"https://repo.mycompany.com/maven2\",\n \"requiresAuth\": true,\n \"ecosystem\": \"maven\",\n \"deploymentId\": 456,\n \"useNetworkBroker\": false,\n \"additionalConfig\": {\n \"maven\": {\n \"repositoryType\": \"MAVEN_REPOSITORY_TYPE_RELEASE\"\n },\n \"pypi\": {},\n \"npm\": {\n \"scope\": null\n }\n },\n \"registryType\": \"REGISTRY_TYPE_PACKAGE_MANAGER_AUTH\"\n },\n \"maven\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"pypi\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"codeArtifact\": {\n \"assumeRoleArn\": \"arn:aws:iam::123456789012:role/my-codeartifact-role\"\n },\n \"npm\": {\n \"token\": \"<registry auth token>\",\n \"basicAuth\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"packageManagerConfig": {
"id": 123,
"name": "Corporate Maven Repository",
"url": "https://repo.mycompany.com/maven2",
"requiresAuth": true,
"ecosystem": "maven",
"deploymentId": 456,
"useNetworkBroker": false,
"additionalConfig": {
"maven": {
"repositoryType": "MAVEN_REPOSITORY_TYPE_RELEASE"
},
"pypi": {},
"npm": {
"scope": null
}
},
"registryType": "REGISTRY_TYPE_PACKAGE_MANAGER_AUTH"
}
}Supply Chain - Managed Scans package manager configurations
Create package manager auth config
Create a new package manager authentication configuration for a deployment.
POST
/
api
/
agent
/
deployments
/
{deploymentId}
/
packagemanagerauthconfigs
Create package manager auth config
curl --request POST \
--url https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deploymentId": 123,
"packageManagerConfigForInsert": {
"config": {
"id": 123,
"name": "Corporate Maven Repository",
"url": "https://repo.mycompany.com/maven2",
"requiresAuth": true,
"ecosystem": "maven",
"deploymentId": 456,
"useNetworkBroker": false,
"additionalConfig": {
"maven": {
"repositoryType": "MAVEN_REPOSITORY_TYPE_RELEASE"
},
"pypi": {},
"npm": {
"scope": null
}
},
"registryType": "REGISTRY_TYPE_PACKAGE_MANAGER_AUTH"
},
"maven": {
"username": "my-username",
"password": "my-password"
},
"pypi": {
"username": "my-username",
"password": "my-password"
},
"codeArtifact": {
"assumeRoleArn": "arn:aws:iam::123456789012:role/my-codeartifact-role"
},
"npm": {
"token": "<registry auth token>",
"basicAuth": {
"username": "my-username",
"password": "my-password"
}
}
}
}
'import requests
url = "https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs"
payload = {
"deploymentId": 123,
"packageManagerConfigForInsert": {
"config": {
"id": 123,
"name": "Corporate Maven Repository",
"url": "https://repo.mycompany.com/maven2",
"requiresAuth": True,
"ecosystem": "maven",
"deploymentId": 456,
"useNetworkBroker": False,
"additionalConfig": {
"maven": { "repositoryType": "MAVEN_REPOSITORY_TYPE_RELEASE" },
"pypi": {},
"npm": { "scope": None }
},
"registryType": "REGISTRY_TYPE_PACKAGE_MANAGER_AUTH"
},
"maven": {
"username": "my-username",
"password": "my-password"
},
"pypi": {
"username": "my-username",
"password": "my-password"
},
"codeArtifact": { "assumeRoleArn": "arn:aws:iam::123456789012:role/my-codeartifact-role" },
"npm": {
"token": "<registry auth token>",
"basicAuth": {
"username": "my-username",
"password": "my-password"
}
}
}
}
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,
packageManagerConfigForInsert: {
config: {
id: 123,
name: 'Corporate Maven Repository',
url: 'https://repo.mycompany.com/maven2',
requiresAuth: true,
ecosystem: 'maven',
deploymentId: 456,
useNetworkBroker: false,
additionalConfig: {
maven: {repositoryType: 'MAVEN_REPOSITORY_TYPE_RELEASE'},
pypi: {},
npm: {scope: null}
},
registryType: 'REGISTRY_TYPE_PACKAGE_MANAGER_AUTH'
},
maven: {username: 'my-username', password: 'my-password'},
pypi: {username: 'my-username', password: 'my-password'},
codeArtifact: {assumeRoleArn: 'arn:aws:iam::123456789012:role/my-codeartifact-role'},
npm: {
token: '<registry auth token>',
basicAuth: {username: 'my-username', password: 'my-password'}
}
}
})
};
fetch('https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs', 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}/packagemanagerauthconfigs",
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,
'packageManagerConfigForInsert' => [
'config' => [
'id' => 123,
'name' => 'Corporate Maven Repository',
'url' => 'https://repo.mycompany.com/maven2',
'requiresAuth' => true,
'ecosystem' => 'maven',
'deploymentId' => 456,
'useNetworkBroker' => false,
'additionalConfig' => [
'maven' => [
'repositoryType' => 'MAVEN_REPOSITORY_TYPE_RELEASE'
],
'pypi' => [
],
'npm' => [
'scope' => null
]
],
'registryType' => 'REGISTRY_TYPE_PACKAGE_MANAGER_AUTH'
],
'maven' => [
'username' => 'my-username',
'password' => 'my-password'
],
'pypi' => [
'username' => 'my-username',
'password' => 'my-password'
],
'codeArtifact' => [
'assumeRoleArn' => 'arn:aws:iam::123456789012:role/my-codeartifact-role'
],
'npm' => [
'token' => '<registry auth token>',
'basicAuth' => [
'username' => 'my-username',
'password' => 'my-password'
]
]
]
]),
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}/packagemanagerauthconfigs"
payload := strings.NewReader("{\n \"deploymentId\": 123,\n \"packageManagerConfigForInsert\": {\n \"config\": {\n \"id\": 123,\n \"name\": \"Corporate Maven Repository\",\n \"url\": \"https://repo.mycompany.com/maven2\",\n \"requiresAuth\": true,\n \"ecosystem\": \"maven\",\n \"deploymentId\": 456,\n \"useNetworkBroker\": false,\n \"additionalConfig\": {\n \"maven\": {\n \"repositoryType\": \"MAVEN_REPOSITORY_TYPE_RELEASE\"\n },\n \"pypi\": {},\n \"npm\": {\n \"scope\": null\n }\n },\n \"registryType\": \"REGISTRY_TYPE_PACKAGE_MANAGER_AUTH\"\n },\n \"maven\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"pypi\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"codeArtifact\": {\n \"assumeRoleArn\": \"arn:aws:iam::123456789012:role/my-codeartifact-role\"\n },\n \"npm\": {\n \"token\": \"<registry auth token>\",\n \"basicAuth\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n }\n }\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://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deploymentId\": 123,\n \"packageManagerConfigForInsert\": {\n \"config\": {\n \"id\": 123,\n \"name\": \"Corporate Maven Repository\",\n \"url\": \"https://repo.mycompany.com/maven2\",\n \"requiresAuth\": true,\n \"ecosystem\": \"maven\",\n \"deploymentId\": 456,\n \"useNetworkBroker\": false,\n \"additionalConfig\": {\n \"maven\": {\n \"repositoryType\": \"MAVEN_REPOSITORY_TYPE_RELEASE\"\n },\n \"pypi\": {},\n \"npm\": {\n \"scope\": null\n }\n },\n \"registryType\": \"REGISTRY_TYPE_PACKAGE_MANAGER_AUTH\"\n },\n \"maven\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"pypi\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"codeArtifact\": {\n \"assumeRoleArn\": \"arn:aws:iam::123456789012:role/my-codeartifact-role\"\n },\n \"npm\": {\n \"token\": \"<registry auth token>\",\n \"basicAuth\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://semgrep.dev/api/agent/deployments/{deploymentId}/packagemanagerauthconfigs")
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 \"packageManagerConfigForInsert\": {\n \"config\": {\n \"id\": 123,\n \"name\": \"Corporate Maven Repository\",\n \"url\": \"https://repo.mycompany.com/maven2\",\n \"requiresAuth\": true,\n \"ecosystem\": \"maven\",\n \"deploymentId\": 456,\n \"useNetworkBroker\": false,\n \"additionalConfig\": {\n \"maven\": {\n \"repositoryType\": \"MAVEN_REPOSITORY_TYPE_RELEASE\"\n },\n \"pypi\": {},\n \"npm\": {\n \"scope\": null\n }\n },\n \"registryType\": \"REGISTRY_TYPE_PACKAGE_MANAGER_AUTH\"\n },\n \"maven\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"pypi\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n },\n \"codeArtifact\": {\n \"assumeRoleArn\": \"arn:aws:iam::123456789012:role/my-codeartifact-role\"\n },\n \"npm\": {\n \"token\": \"<registry auth token>\",\n \"basicAuth\": {\n \"username\": \"my-username\",\n \"password\": \"my-password\"\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"packageManagerConfig": {
"id": 123,
"name": "Corporate Maven Repository",
"url": "https://repo.mycompany.com/maven2",
"requiresAuth": true,
"ecosystem": "maven",
"deploymentId": 456,
"useNetworkBroker": false,
"additionalConfig": {
"maven": {
"repositoryType": "MAVEN_REPOSITORY_TYPE_RELEASE"
},
"pypi": {},
"npm": {
"scope": null
}
},
"registryType": "REGISTRY_TYPE_PACKAGE_MANAGER_AUTH"
}
}This endpoint is experimental. It may change or be removed without notice and is not covered by API stability guarantees.
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 identifier for the deployment.
Body
application/json
Response
200 - application/json
OK
Represents properties of the PackageManagerConfig model without the credentials
Show child attributes
Show child attributes
Was this page helpful?
⌘I