curl --request POST \
--url https://api.qovery.com/project/{projectId}/environmentVariable \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"value": "<string>",
"mount_path": null,
"description": "<string>",
"enable_interpolation_in_file": true
}
'import requests
url = "https://api.qovery.com/project/{projectId}/environmentVariable"
payload = {
"key": "<string>",
"value": "<string>",
"mount_path": None,
"description": "<string>",
"enable_interpolation_in_file": True
}
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({
key: '<string>',
value: '<string>',
mount_path: null,
description: '<string>',
enable_interpolation_in_file: true
})
};
fetch('https://api.qovery.com/project/{projectId}/environmentVariable', 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.qovery.com/project/{projectId}/environmentVariable",
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([
'key' => '<string>',
'value' => '<string>',
'mount_path' => null,
'description' => '<string>',
'enable_interpolation_in_file' => true
]),
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.qovery.com/project/{projectId}/environmentVariable"
payload := strings.NewReader("{\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"mount_path\": null,\n \"description\": \"<string>\",\n \"enable_interpolation_in_file\": true\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.qovery.com/project/{projectId}/environmentVariable")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"mount_path\": null,\n \"description\": \"<string>\",\n \"enable_interpolation_in_file\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/project/{projectId}/environmentVariable")
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 \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"mount_path\": null,\n \"description\": \"<string>\",\n \"enable_interpolation_in_file\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"key": "<string>",
"scope": "APPLICATION",
"variable_type": "VALUE",
"updated_at": "2023-11-07T05:31:56Z",
"value": "<string>",
"mount_path": null,
"description": "<string>",
"enable_interpolation_in_file": true,
"overridden_variable": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "<string>",
"value": "<string>",
"mount_path": "<string>",
"scope": "APPLICATION",
"variable_type": "VALUE"
},
"aliased_variable": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "QOVERY_DATABASE_PSQL_NAME",
"value": "<string>",
"mount_path": "<string>",
"scope": "APPLICATION",
"variable_type": "VALUE"
},
"service_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"service_name": "<string>",
"service_type": "APPLICATION",
"owned_by": "<string>"
}Add an environment variable to the project
- Add an environment variable to the project.
- If the environment variable key already exists in this scope, the request is rejected with a 409 conflict.
- A value matching the key of an existing variable is stored as a plain string, not as an alias. To create an alias, use POST /variable//alias on the variable to target.
curl --request POST \
--url https://api.qovery.com/project/{projectId}/environmentVariable \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"value": "<string>",
"mount_path": null,
"description": "<string>",
"enable_interpolation_in_file": true
}
'import requests
url = "https://api.qovery.com/project/{projectId}/environmentVariable"
payload = {
"key": "<string>",
"value": "<string>",
"mount_path": None,
"description": "<string>",
"enable_interpolation_in_file": True
}
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({
key: '<string>',
value: '<string>',
mount_path: null,
description: '<string>',
enable_interpolation_in_file: true
})
};
fetch('https://api.qovery.com/project/{projectId}/environmentVariable', 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.qovery.com/project/{projectId}/environmentVariable",
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([
'key' => '<string>',
'value' => '<string>',
'mount_path' => null,
'description' => '<string>',
'enable_interpolation_in_file' => true
]),
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.qovery.com/project/{projectId}/environmentVariable"
payload := strings.NewReader("{\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"mount_path\": null,\n \"description\": \"<string>\",\n \"enable_interpolation_in_file\": true\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.qovery.com/project/{projectId}/environmentVariable")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"mount_path\": null,\n \"description\": \"<string>\",\n \"enable_interpolation_in_file\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/project/{projectId}/environmentVariable")
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 \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"mount_path\": null,\n \"description\": \"<string>\",\n \"enable_interpolation_in_file\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"key": "<string>",
"scope": "APPLICATION",
"variable_type": "VALUE",
"updated_at": "2023-11-07T05:31:56Z",
"value": "<string>",
"mount_path": null,
"description": "<string>",
"enable_interpolation_in_file": true,
"overridden_variable": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "<string>",
"value": "<string>",
"mount_path": "<string>",
"scope": "APPLICATION",
"variable_type": "VALUE"
},
"aliased_variable": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "QOVERY_DATABASE_PSQL_NAME",
"value": "<string>",
"mount_path": "<string>",
"scope": "APPLICATION",
"variable_type": "VALUE"
},
"service_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"service_name": "<string>",
"service_type": "APPLICATION",
"owned_by": "<string>"
}Authorizations
JWT tokens should be used with OIDC account (human to machine). JWT tokens used by the Qovery console to communicate with the API have a TTL. Curl Example ' curl https://console.qovery.com/organization -H "Authorization: Bearer $qovery_token" '
Path Parameters
Project ID
Body
key is case sensitive.
value of the env variable.
should be set for file only. variable mount path makes variable a file (where file should be mounted).
optional variable description (255 characters maximum)
255Response
Added an environment variable
key is case sensitive.
APPLICATION, BUILT_IN, ENVIRONMENT, PROJECT, CONTAINER, JOB, HELM, TERRAFORM, AGENTIC_WORKFLOW type of the environment variable (VALUE, FILE, ALIAS, OVERRIDE, BUIT_IN, EXTERNAL_SECRET, FILE_EXTERNAL_SECRET)
VALUE, ALIAS, OVERRIDE, BUILT_IN, FILE, EXTERNAL_SECRET, FILE_EXTERNAL_SECRET value of the env variable.
should be set for file only. variable mount path makes variable a file (where file should be mounted).
optional variable description (255 characters maximum)
255Show child attributes
Show child attributes
Show child attributes
Show child attributes
type of the service (application, database, job, gateway...)
APPLICATION, CONTAINER, DATABASE, JOB, HELM, TERRAFORM Entity that created/own the variable (i.e: Qovery, Doppler)
Was this page helpful?