cURL
curl -X GET "https://app.cotool.ai/api/threat-model" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"import requests
url = "https://app.cotool.ai/api/threat-model"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.cotool.ai/api/threat-model', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://app.cotool.ai/api/threat-model")
.header("Authorization", "Bearer <token>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.cotool.ai/api/threat-model"
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))
}{
"threatModel": {
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currentVersion": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"isCurrent": true,
"authorId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modelAlias": "<string>",
"changeDescription": "<string>",
"createdAt": "<string>",
"content": "<string>"
}
},
"recentVersionWindow": 123,
"generationJob": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "<string>"
}
}{
"error": "<string>",
"issues": [
{}
]
}{
"error": "<string>"
}{
"error": "<string>",
"missingPerms": [
"<string>"
]
}{
"error": "<string>"
}ThreatModel
Get threat model
Get the current threat model for the organization.
GET
/
api
/
threat-model
cURL
curl -X GET "https://app.cotool.ai/api/threat-model" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"import requests
url = "https://app.cotool.ai/api/threat-model"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.cotool.ai/api/threat-model', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://app.cotool.ai/api/threat-model")
.header("Authorization", "Bearer <token>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.cotool.ai/api/threat-model"
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))
}{
"threatModel": {
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currentVersion": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"isCurrent": true,
"authorId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modelAlias": "<string>",
"changeDescription": "<string>",
"createdAt": "<string>",
"content": "<string>"
}
},
"recentVersionWindow": 123,
"generationJob": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "<string>"
}
}{
"error": "<string>",
"issues": [
{}
]
}{
"error": "<string>"
}{
"error": "<string>",
"missingPerms": [
"<string>"
]
}{
"error": "<string>"
}Authorizations
API Key authentication for programmatic access. Include your API key in the Authorization header as: Bearer your_api_key_here
Response
Successful response
Current threat model for the org, or null if none exists yet
Show child attributes
Show child attributes
How many recent versions threat model logic typically needs to look at
Active threat model generation job, if one is currently pending or running
Show child attributes
Show child attributes
Was this page helpful?
⌘I