Env Vars API
Import Env Vars
Upload mulitple environment variables for a specific project and environment.
POST
/
api
/
v1
/
projects
/
{projectRef}
/
envvars
/
{env}
/
import
Import variables from an array
import { envvars } from "@trigger.dev/sdk";
await envvars.upload("proj_yubjwjsfkxnylobaqvqz", "dev", {
variables: { SLACK_API_KEY: "slack_key_1234" },
override: false
});curl --request POST \
--url https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"variables": [
{
"name": "SLACK_API_KEY",
"value": "slack_123456"
}
],
"override": false
}
'import requests
url = "https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import"
payload = {
"variables": [
{
"name": "SLACK_API_KEY",
"value": "slack_123456"
}
],
"override": False
}
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({variables: [{name: 'SLACK_API_KEY', value: 'slack_123456'}], override: false})
};
fetch('https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import', 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.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import",
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([
'variables' => [
[
'name' => 'SLACK_API_KEY',
'value' => 'slack_123456'
]
],
'override' => false
]),
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.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import"
payload := strings.NewReader("{\n \"variables\": [\n {\n \"name\": \"SLACK_API_KEY\",\n \"value\": \"slack_123456\"\n }\n ],\n \"override\": false\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.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"variables\": [\n {\n \"name\": \"SLACK_API_KEY\",\n \"value\": \"slack_123456\"\n }\n ],\n \"override\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import")
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 \"variables\": [\n {\n \"name\": \"SLACK_API_KEY\",\n \"value\": \"slack_123456\"\n }\n ],\n \"override\": false\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>",
"issues": [
{}
],
"variableErrors": [
{}
]
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
secretKeypersonalAccessToken
Use a named environment API key. It starts with tr_dev_sk_, tr_prod_sk_, tr_stg_sk_, etc.
Create a named API key in the API Keys section of your Trigger.dev project dashboard. Choose the narrowest access preset that supports your integration.
Our TypeScript SDK will default to using the value of the TRIGGER_SECRET_KEY environment variable if it is set. If you are using the SDK in a different environment, you can set the key using the configure function.
import { configure } from "@trigger.dev/sdk"; configure({ accessToken: "tr_dev_sk_1234" });
Path Parameters
The external ref of the project. You can find this in the project settings. Starts with proj_.
The environment of the project to list variables for.
Available options:
dev, staging, prod Body
application/json
Response
Environment variables imported successfully
Was this page helpful?
⌘I
Import variables from an array
import { envvars } from "@trigger.dev/sdk";
await envvars.upload("proj_yubjwjsfkxnylobaqvqz", "dev", {
variables: { SLACK_API_KEY: "slack_key_1234" },
override: false
});curl --request POST \
--url https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"variables": [
{
"name": "SLACK_API_KEY",
"value": "slack_123456"
}
],
"override": false
}
'import requests
url = "https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import"
payload = {
"variables": [
{
"name": "SLACK_API_KEY",
"value": "slack_123456"
}
],
"override": False
}
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({variables: [{name: 'SLACK_API_KEY', value: 'slack_123456'}], override: false})
};
fetch('https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import', 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.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import",
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([
'variables' => [
[
'name' => 'SLACK_API_KEY',
'value' => 'slack_123456'
]
],
'override' => false
]),
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.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import"
payload := strings.NewReader("{\n \"variables\": [\n {\n \"name\": \"SLACK_API_KEY\",\n \"value\": \"slack_123456\"\n }\n ],\n \"override\": false\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.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"variables\": [\n {\n \"name\": \"SLACK_API_KEY\",\n \"value\": \"slack_123456\"\n }\n ],\n \"override\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trigger.dev/api/v1/projects/{projectRef}/envvars/{env}/import")
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 \"variables\": [\n {\n \"name\": \"SLACK_API_KEY\",\n \"value\": \"slack_123456\"\n }\n ],\n \"override\": false\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>",
"issues": [
{}
],
"variableErrors": [
{}
]
}{
"error": "<string>"
}{
"error": "<string>"
}
