curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/automations/schemas \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/automations/schemas"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devin.ai/v3/organizations/{org_id}/automations/schemas', 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/v3/organizations/{org_id}/automations/schemas",
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.devin.ai/v3/organizations/{org_id}/automations/schemas"
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.devin.ai/v3/organizations/{org_id}/automations/schemas")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/automations/schemas")
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{
"default_net_policy": {
"allow": [
{
"hostname": "<string>"
}
]
},
"sources": {},
"update_semantics": "<string>",
"security_profile": {
"governs_network": true,
"mcp_servers": [
"<string>"
],
"name": "<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"
}Obter esquemas de eventos de automação
Retorna todos os esquemas de eventos de acionamento compatíveis, organizados por origem e, em seguida, por nome do evento.
Cada esquema descreve os campos da carga útil do evento, os operadores compatíveis com suas
condições e os verbos replies válidos, para que os chamadores possam
criar triggers válidos para os endpoints de criação e atualização.
curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/automations/schemas \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/automations/schemas"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devin.ai/v3/organizations/{org_id}/automations/schemas', 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/v3/organizations/{org_id}/automations/schemas",
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.devin.ai/v3/organizations/{org_id}/automations/schemas"
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.devin.ai/v3/organizations/{org_id}/automations/schemas")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/automations/schemas")
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{
"default_net_policy": {
"allow": [
{
"hostname": "<string>"
}
]
},
"sources": {},
"update_semantics": "<string>",
"security_profile": {
"governs_network": true,
"mcp_servers": [
"<string>"
],
"name": "<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"
}Permissões
É necessário um usuário de serviço ou token de acesso pessoal com a permissãoViewOrgAutomations no nível da organização.
Uso
Chame este endpoint antes de criar automações: ele retorna todos os tipos de evento de acionamento compatíveis (agrupados por origem e, em seguida, por nome do evento), com seus campos de payload, os operadores compatíveis com suas condições e os verbosreplies válidos, para que você possa criar triggers válidos para os endpoints de criação e atualização. As origens que não estão ativadas para a organização são omitidas.Autorizações
Credencial de usuário de serviço (prefixo: cog_)
Parâmetros de caminho
ID da organização (prefixo: org-)
"org-abc123def456"
Parâmetros de consulta
Resolva default_net_policy e security_profile para uma operação de criação que define security_profile.profile_id como este perfil. Requer a permissão de gerenciamento de perfis de segurança.
Resposta
Resposta bem-sucedida
Network policy que os clientes devem usar como base para novas automações: a política do deployment que permite acesso apenas ao Git Manager (adicione somente os destinos necessários para a tarefa) ou null quando o perfil de segurança aplicável (consulte security_profile) tiver uma network policy. Nesse caso, as sessões usam a política do perfil; omita session_settings.net_policy, a menos que a tarefa exija restrições adicionais.
Show child attributes
Show child attributes
Fonte do evento → nome do evento → esquema.
Show child attributes
Show child attributes
Semântica de PATCH ativa para esta organização: 'replace_groups' (um grupo de configuração presente na requisição substitui integralmente o grupo armazenado) ou 'merge_patch' (RFC 7396 para objetos: membros omitidos de um grupo presente mantêm seus valores armazenados; valores nulos explícitos os removem; a lista ainda é substituída integralmente — para excluir, reenvie a lista sem o elemento —, mas cada elemento enviado é mesclado ao elemento armazenado do mesmo tipo quando esse tipo aparece exatamente uma vez em ambos os lados; tipos repetidos devem ser informados integralmente). Enumeração aberta — os clientes devem aceitar novos valores.
Perfil de segurança que rege as sessões de automação desta organização, ou null quando nenhum se aplica.
Show child attributes
Show child attributes

