Update Email Config
curl --request POST \
--url https://api.velt.dev/v2/workspace/emailconfig/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"useEmailService": true,
"emailServiceConfig": {
"type": "<string>",
"apiKey": "<string>",
"fromEmail": "<string>",
"fromCompany": "<string>",
"triggers": {
"comment_annotation.add": true,
"comment.add": true,
"comment_annotation.status_change": true,
"comment_annotation.assign": true,
"comment_annotation.priority_change": true
}
}
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/emailconfig/update"
payload = { "data": {
"useEmailService": True,
"emailServiceConfig": {
"type": "<string>",
"apiKey": "<string>",
"fromEmail": "<string>",
"fromCompany": "<string>",
"triggers": {
"comment_annotation.add": True,
"comment.add": True,
"comment_annotation.status_change": True,
"comment_annotation.assign": True,
"comment_annotation.priority_change": True
}
}
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
useEmailService: true,
emailServiceConfig: {
type: '<string>',
apiKey: '<string>',
fromEmail: '<string>',
fromCompany: '<string>',
triggers: {
'comment_annotation.add': true,
'comment.add': true,
'comment_annotation.status_change': true,
'comment_annotation.assign': true,
'comment_annotation.priority_change': true
}
}
}
})
};
fetch('https://api.velt.dev/v2/workspace/emailconfig/update', 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.velt.dev/v2/workspace/emailconfig/update",
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([
'data' => [
'useEmailService' => true,
'emailServiceConfig' => [
'type' => '<string>',
'apiKey' => '<string>',
'fromEmail' => '<string>',
'fromCompany' => '<string>',
'triggers' => [
'comment_annotation.add' => true,
'comment.add' => true,
'comment_annotation.status_change' => true,
'comment_annotation.assign' => true,
'comment_annotation.priority_change' => true
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/workspace/emailconfig/update"
payload := strings.NewReader("{\n \"data\": {\n \"useEmailService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"triggers\": {\n \"comment_annotation.add\": true,\n \"comment.add\": true,\n \"comment_annotation.status_change\": true,\n \"comment_annotation.assign\": true,\n \"comment_annotation.priority_change\": true\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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.velt.dev/v2/workspace/emailconfig/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"useEmailService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"triggers\": {\n \"comment_annotation.add\": true,\n \"comment.add\": true,\n \"comment_annotation.status_change\": true,\n \"comment_annotation.assign\": true,\n \"comment_annotation.priority_change\": true\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/emailconfig/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"useEmailService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"triggers\": {\n \"comment_annotation.add\": true,\n \"comment.add\": true,\n \"comment_annotation.status_change\": true,\n \"comment_annotation.assign\": true,\n \"comment_annotation.priority_change\": true\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Email configuration updated successfully.",
"data": null
}
}
Email Notifications Configuration
Update Email Config
POST
/
v2
/
workspace
/
emailconfig
/
update
Update Email Config
curl --request POST \
--url https://api.velt.dev/v2/workspace/emailconfig/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"useEmailService": true,
"emailServiceConfig": {
"type": "<string>",
"apiKey": "<string>",
"fromEmail": "<string>",
"fromCompany": "<string>",
"triggers": {
"comment_annotation.add": true,
"comment.add": true,
"comment_annotation.status_change": true,
"comment_annotation.assign": true,
"comment_annotation.priority_change": true
}
}
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/emailconfig/update"
payload = { "data": {
"useEmailService": True,
"emailServiceConfig": {
"type": "<string>",
"apiKey": "<string>",
"fromEmail": "<string>",
"fromCompany": "<string>",
"triggers": {
"comment_annotation.add": True,
"comment.add": True,
"comment_annotation.status_change": True,
"comment_annotation.assign": True,
"comment_annotation.priority_change": True
}
}
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
useEmailService: true,
emailServiceConfig: {
type: '<string>',
apiKey: '<string>',
fromEmail: '<string>',
fromCompany: '<string>',
triggers: {
'comment_annotation.add': true,
'comment.add': true,
'comment_annotation.status_change': true,
'comment_annotation.assign': true,
'comment_annotation.priority_change': true
}
}
}
})
};
fetch('https://api.velt.dev/v2/workspace/emailconfig/update', 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.velt.dev/v2/workspace/emailconfig/update",
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([
'data' => [
'useEmailService' => true,
'emailServiceConfig' => [
'type' => '<string>',
'apiKey' => '<string>',
'fromEmail' => '<string>',
'fromCompany' => '<string>',
'triggers' => [
'comment_annotation.add' => true,
'comment.add' => true,
'comment_annotation.status_change' => true,
'comment_annotation.assign' => true,
'comment_annotation.priority_change' => true
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/workspace/emailconfig/update"
payload := strings.NewReader("{\n \"data\": {\n \"useEmailService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"triggers\": {\n \"comment_annotation.add\": true,\n \"comment.add\": true,\n \"comment_annotation.status_change\": true,\n \"comment_annotation.assign\": true,\n \"comment_annotation.priority_change\": true\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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.velt.dev/v2/workspace/emailconfig/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"useEmailService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"triggers\": {\n \"comment_annotation.add\": true,\n \"comment.add\": true,\n \"comment_annotation.status_change\": true,\n \"comment_annotation.assign\": true,\n \"comment_annotation.priority_change\": true\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/emailconfig/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"useEmailService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"triggers\": {\n \"comment_annotation.add\": true,\n \"comment.add\": true,\n \"comment_annotation.status_change\": true,\n \"comment_annotation.assign\": true,\n \"comment_annotation.priority_change\": true\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Email configuration updated successfully.",
"data": null
}
}
Use this API to update the email service configuration for a workspace. At least one of
useEmailService or emailServiceConfig must be provided.
This endpoint uses API-key-level auth: pass
x-velt-api-key and x-velt-auth-token as headers. You can obtain these from the Get Auth Tokens endpoint.Endpoint
POST https://api.velt.dev/v2/workspace/emailconfig/update
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Show properties
Show properties
boolean
Whether to enable the email service.
object
Email service configuration object.
Show properties
Show properties
string
Email service provider type. Accepted values:
"default" or "sendgrid".string
API key for the email service provider.
string
Sender email address.
string
Sender company name.
object
Event triggers that activate email notifications. Each key is an event type string and the value is a boolean to enable (
true) or disable (false) that trigger. See Webhooks for the full list of event types. Common keys include:Example Request
{
"data": {
"useEmailService": true,
"emailServiceConfig": {
"type": "sendgrid",
"apiKey": "SG.xxxxxxxxxx",
"fromEmail": "noreply@example.com",
"fromCompany": "Example Corp"
}
}
}
Example Response
Success Response
{
"result": {
"status": "success",
"message": "Email configuration updated successfully.",
"data": null
}
}
Failure Response
{
"error": {
"status": "INVALID_ARGUMENT",
"message": "Invalid email service configuration."
}
}
{
"result": {
"status": "success",
"message": "Email configuration updated successfully.",
"data": null
}
}
Was this page helpful?

