Devin Desktop-Modelle und Preise auflisten
curl --request GET \
--url https://server.codeium.com/api/v2alpha/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://server.codeium.com/api/v2alpha/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://server.codeium.com/api/v2alpha/models', 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://server.codeium.com/api/v2alpha/models",
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://server.codeium.com/api/v2alpha/models"
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://server.codeium.com/api/v2alpha/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.codeium.com/api/v2alpha/models")
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{
"models": [
{
"uid": "<string>",
"name": "<string>",
"pricing_dimensions": [
{
"label": "<string>",
"unit": "<string>",
"value": 123,
"denominator": "<string>",
"info": "<string>"
}
]
}
]
}API-Referenz
Devin Desktop-Modelle und Preise auflisten
Listen Sie die für Ihr Konto verfügbaren Devin Desktop-Modelle samt Modell-UIDs, Namen und den Preisen pro Token oder pro Nachricht auf, die Ihrem Team berechnet werden.
GET
/
api
/
v2alpha
/
models
Devin Desktop-Modelle und Preise auflisten
curl --request GET \
--url https://server.codeium.com/api/v2alpha/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://server.codeium.com/api/v2alpha/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://server.codeium.com/api/v2alpha/models', 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://server.codeium.com/api/v2alpha/models",
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://server.codeium.com/api/v2alpha/models"
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://server.codeium.com/api/v2alpha/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.codeium.com/api/v2alpha/models")
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{
"models": [
{
"uid": "<string>",
"name": "<string>",
"pricing_dimensions": [
{
"label": "<string>",
"unit": "<string>",
"value": 123,
"denominator": "<string>",
"info": "<string>"
}
]
}
]
}Übersicht
Dieser Endpunkt befindet sich im Alpha-Stadium (
v2alpha). Die Struktur der Antwort kann sich ändern.Authentifizierung
Authorization-Header:
Authorization: Bearer <api-key>
cog_...). Die Rolle des Service-Benutzers muss die Berechtigung Use Devin Desktop umfassen, und der Zugriff auf Devin Desktop muss für das Konto aktiviert sein.
Request
string
Ohne Angabe werden alle Modelle aufgelistet, die Ihr Plan und Ihr Abrechnungsmodell zulassen – teamweite Beschränkungen bleiben dabei unberücksichtigt.Setzen Sie den Wert auf
allowlist, um zusätzlich die Allowlist Ihres Teams, die Vorgaben der Organisation sowie Gruppenbeschränkungen anzuwenden. Die Liste entspricht dann dem, was Nutzer in der Modellauswahl von Devin Desktop sehen.Beispielanfrage
curl https://server.codeium.com/api/v2alpha/models \
-H "Authorization: Bearer $DEVIN_API_KEY"
curl "https://server.codeium.com/api/v2alpha/models?filter=allowlist" \
-H "Authorization: Bearer $DEVIN_API_KEY"
Antwort
object[]
Für den Aufrufer verfügbare Modelle. Deaktivierte Modelle sind nicht enthalten.
Anzeigen Eigenschaften
Anzeigen Eigenschaften
string
Stabile Modellkennung, z. B.
claude-sonnet-4-5.string
Anzeigename, der in der Modellauswahl erscheint.
object[]
Preise, die dem Aufrufer für dieses Modell berechnet werden. Bei kostenlosen Modellen leer.
Anzeigen Eigenschaften
Anzeigen Eigenschaften
string
Wofür der Preis gilt, in snake_case:
input, output, cached_input, cache_read oder cache_write für Token-Preise; bei Preisen in einer Nicht-Währungseinheit die abgerechnete Menge, z. B. message für die Abrechnung pro Nachricht. Fusion-Modelle führen zusätzlich die Preise ihres Sidekicks mit dem Präfix sidekick_ auf, z. B. sidekick_input oder sidekick_message.string
Die Einheit, in der
value angegeben ist, in snake_case, z. B. usd, acus oder credits.number
Der Preis in
unit, pro denominator.string
Die Menge, für die der Preis gilt, z. B.
1M tokens oder message.string
Optionaler Hinweis zum Preis, z. B.
Higher effort consumes more tokens.Beispielantwort
{
"models": [
{
"uid": "claude-sonnet-4-5",
"name": "Claude Sonnet 4.5",
"pricing_dimensions": [
{ "label": "input", "unit": "usd", "value": 3, "denominator": "1M tokens" },
{ "label": "cached_input", "unit": "usd", "value": 0.3, "denominator": "1M tokens" },
{ "label": "output", "unit": "usd", "value": 15, "denominator": "1M tokens" }
]
},
{
"uid": "example-model",
"name": "Example Model",
"pricing_dimensions": [
{ "label": "message", "unit": "acus", "value": 0.5, "denominator": "message" }
]
}
]
}
Fehlerantworten
{"error": "<message>"} zurückgegeben.
| Status | Ursache |
|---|---|
400 | filter ist auf einen anderen Wert als allowlist gesetzt |
401 | Fehlender oder ungültiger API-Schlüssel |
403 | Der Nutzer des Schlüssels hat keinen Zugriff auf Devin Desktop |
429 | Ratenlimit überschritten; warten Sie die im Retry-After-Header angegebene Zeit ab, bevor Sie es erneut versuchen |

