Create Secret
curl --request POST \
--url https://api.devin.ai/v1/secrets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"key": "<string>",
"value": "<string>",
"sensitive": true,
"note": "<string>"
}
'import requests
url = "https://api.devin.ai/v1/secrets"
payload = {
"type": "<string>",
"key": "<string>",
"value": "<string>",
"sensitive": True,
"note": "<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({
type: '<string>',
key: '<string>',
value: '<string>',
sensitive: true,
note: '<string>'
})
};
fetch('https://api.devin.ai/v1/secrets', 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.devin.ai/v1/secrets",
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([
'type' => '<string>',
'key' => '<string>',
'value' => '<string>',
'sensitive' => true,
'note' => '<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://api.devin.ai/v1/secrets"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"sensitive\": true,\n \"note\": \"<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://api.devin.ai/v1/secrets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"sensitive\": true,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v1/secrets")
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 \"type\": \"<string>\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"sensitive\": true,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>"
}Secrets Endpoints
Create Secret
Create a new secret in your organization
POST
/
v1
/
secrets
Create Secret
curl --request POST \
--url https://api.devin.ai/v1/secrets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"key": "<string>",
"value": "<string>",
"sensitive": true,
"note": "<string>"
}
'import requests
url = "https://api.devin.ai/v1/secrets"
payload = {
"type": "<string>",
"key": "<string>",
"value": "<string>",
"sensitive": True,
"note": "<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({
type: '<string>',
key: '<string>',
value: '<string>',
sensitive: true,
note: '<string>'
})
};
fetch('https://api.devin.ai/v1/secrets', 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.devin.ai/v1/secrets",
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([
'type' => '<string>',
'key' => '<string>',
'value' => '<string>',
'sensitive' => true,
'note' => '<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://api.devin.ai/v1/secrets"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"sensitive\": true,\n \"note\": \"<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://api.devin.ai/v1/secrets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"sensitive\": true,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v1/secrets")
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 \"type\": \"<string>\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"sensitive\": true,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>"
}Create a new encrypted secret that can be used in Devin sessions. The secret will be available to all sessions created after the secret is added.
Request Body
string
required
Type of secret. Must be one of:
cookie, key-value, totpstring
required
User-defined name for the secret. Must be unique within the organization.
string
required
The secret value to store. Will be encrypted at rest.
boolean
required
Whether the secret should be treated as sensitive and redacted in logs.
string
required
Optional note describing the secret’s purpose.
Response
string
The unique identifier of the created secret
⌘I

