设置组织默认平台
curl --request PUT \
--url https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"outpost_pool_id": "<string>",
"platform": "<string>"
}
'import requests
url = "https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform"
payload = {
"outpost_pool_id": "<string>",
"platform": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({outpost_pool_id: '<string>', platform: '<string>'})
};
fetch('https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform', 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/v3beta1/organizations/{org_id}/default-platform",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'outpost_pool_id' => '<string>',
'platform' => '<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/v3beta1/organizations/{org_id}/default-platform"
payload := strings.NewReader("{\n \"outpost_pool_id\": \"<string>\",\n \"platform\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"outpost_pool_id\": \"<string>\",\n \"platform\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"outpost_pool_id\": \"<string>\",\n \"platform\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"outpost_pool_id": "<string>",
"outpost_pool_name": "<string>",
"platform": "<string>"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}组织设置(组织)[测试版]
设置组织默认平台(Devin API)
通过 v3 组织 API 设置或清除组织默认的 Devin 会话运行位置,可指定为托管平台或 outpost pool
PUT
/
v3beta1
/
organizations
/
{org_id}
/
default-platform
设置组织默认平台
curl --request PUT \
--url https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"outpost_pool_id": "<string>",
"platform": "<string>"
}
'import requests
url = "https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform"
payload = {
"outpost_pool_id": "<string>",
"platform": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({outpost_pool_id: '<string>', platform: '<string>'})
};
fetch('https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform', 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/v3beta1/organizations/{org_id}/default-platform",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'outpost_pool_id' => '<string>',
'platform' => '<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/v3beta1/organizations/{org_id}/default-platform"
payload := strings.NewReader("{\n \"outpost_pool_id\": \"<string>\",\n \"platform\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"outpost_pool_id\": \"<string>\",\n \"platform\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3beta1/organizations/{org_id}/default-platform")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"outpost_pool_id\": \"<string>\",\n \"platform\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"outpost_pool_id": "<string>",
"outpost_pool_name": "<string>",
"platform": "<string>"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}设置新会话的组织级默认运行位置。该设置与 webapp 中 Settings > Devin > Default platform 的设置相同。创建会话时若未显式指定
platform,将优先使用创建者的个人默认设置,其次使用此设置。
权限
需要使用在组织级别具有ManageOrgSettings 权限的服务用户或个人访问令牌。
请求字段
以下字段最多只能发送其中一个:platform:为该组织配置的托管平台标签 (例如linux、windows或macos) ,或共享 outpost pool 的名称,不区分大小写。如果某个名称同时匹配两者,则优先匹配平台。outpost_pool_id:该组织可用的共享 outpost pool 的 ID。
{}) ,或将两个字段都设为 null。请求体为必填项。
只有共享 outpost pool 才能设为组织默认设置。个人 outpost 不能作为组织默认设置,因为只有其所有者才能在上面启动会话。
仅限 Outposts 的组织
当企业处于仅限 Outposts 模式时,只接受 outpost pool;使用托管平台标签将返回400。
错误
- 返回
400的情况:platform未匹配任何已配置的平台或共享 outpost pool、匹配到多个 outpost pool,或在仅限 Outposts 的组织中指定了托管平台;或者outpost_pool_id并非该组织可用的共享 pool。错误响应体中会列出可用的平台和 outpost pool。 - 返回
403的情况:调用方不具备ManageOrgSettings权限。 - 返回
422的情况:同时设置了platform和outpost_pool_id。
示例
curl -X PUT "https://api.devin.ai/v3beta1/organizations/$ORG_ID/default-platform" \
-H "Authorization: Bearer $DEVIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform": "gpu-pool"}'
授权
服务用户凭据(前缀:cog_)
路径参数
组织 ID(前缀:org-)
示例:
"org-abc123def456"
请求体
application/json
设置组织中新会话的默认运行位置。
platform 和 outpost_pool_id 最多提供一个;将两者均设为
null(例如 {})即可清除默认设置。

