Controls
List controls
List controls.
GET
/
controls
List controls
curl --request GET \
--url https://api.vanta.com/v1/controls \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vanta.com/v1/controls"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vanta.com/v1/controls', 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.vanta.com/v1/controls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vanta.com/v1/controls"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.vanta.com/v1/controls")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vanta.com/v1/controls")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": {
"data": [
{
"id": "a2f7e1b9d0c3f4e5a6c7b8d9",
"externalId": "CRY-104",
"name": "Data encryption utilized",
"description": "Access reviews are performed to ensure that access is appropriate for the user's role and responsibilities.",
"source": "Vanta",
"domains": [
"CRYPTOGRAPHIC_PROTECTIONS"
],
"owner": {
"id": "65e1efde08e8478f143a8ff9",
"emailAddress": "example-person@email.com",
"displayName": "Example Owner"
},
"role": "CONTROLLER",
"customFields": [
{
"label": "Additional context",
"value": "This control is critical for GDPR compliance"
}
],
"creationDate": null,
"modificationDate": null
}
],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
"endCursor": "YXJyYXljb25uZWN0aW9uOjE="
},
"totalCount": 1
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Controls the maximum number of items returned in one response from the API.
Required range:
1 <= x <= 100A marker or pointer, telling the API where to start fetching items for the subsequent page in a paginated dataset. Note that the requested page will not include the item that corresponds to this cursor but will start from the one immediately after this cursor.
Includes all controls belonging to one of the provided framework values in frameworkMatchesAny.
Response
200 - application/json
Ok
Show child attributes
Show child attributes
Was this page helpful?
⌘I
List controls
curl --request GET \
--url https://api.vanta.com/v1/controls \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vanta.com/v1/controls"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vanta.com/v1/controls', 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.vanta.com/v1/controls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vanta.com/v1/controls"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.vanta.com/v1/controls")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vanta.com/v1/controls")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": {
"data": [
{
"id": "a2f7e1b9d0c3f4e5a6c7b8d9",
"externalId": "CRY-104",
"name": "Data encryption utilized",
"description": "Access reviews are performed to ensure that access is appropriate for the user's role and responsibilities.",
"source": "Vanta",
"domains": [
"CRYPTOGRAPHIC_PROTECTIONS"
],
"owner": {
"id": "65e1efde08e8478f143a8ff9",
"emailAddress": "example-person@email.com",
"displayName": "Example Owner"
},
"role": "CONTROLLER",
"customFields": [
{
"label": "Additional context",
"value": "This control is critical for GDPR compliance"
}
],
"creationDate": null,
"modificationDate": null
}
],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
"endCursor": "YXJyYXljb25uZWN0aW9uOjE="
},
"totalCount": 1
}
}