Create

  • POST
  • /workspaces
  • /:workspace
  • /variables

Creates a new environment variable.

Request

REQUIRED SCOPES
VARIABLE_ADD
URL PARAMETERS
workspacerequiredstring
The workspace name.
POST PARAMETERS
keyrequiredstring
The name of the variable.
valuerequiredstring
The value of the variable.
typestring
The type of the added variable. Can be one of VAR, SSH_PUBLIC_KEY or SSH_KEY.
descriptionstring
The optional description of the variable.
settableboolean
If set to true the variable value can be set by Buddy actions.
run_only_settableboolean
Available only if type=VAR. If set to true the variable value can be set by Buddy actions only for execution time. Must be used with settable: true flag.
encryptedboolean
If set to true the variable value will be encrypted and hidden.
projectProject
The project, to which the new environment variable will be added.
pipelinePipeline
The pipeline, to which the new environment variable will be added.
actionAction
The pipeline action, to which the new environment variable will be added.
sandboxSandbox
The sandbox, to which the new environment variable will be added.
file_placestring
Available values: CONTAINER, NONE. Set if type is SSH_KEY or SSH_PUBLIC_KEY. If it's NONE, the variable can be used as a parameter in an action. For CONTAINER, the given key is additionally copied to an action container on each run.
file_pathstring
Specifies where to copy the file on each run. Set if type is SSH_KEY or SSH_PUBLIC_KEY.
file_chmodstring
File permission set on copy to a container on each run. Set if type is SSH_KEY or SSH_PUBLIC_KEY.

Last modified on Jan 19, 2026

Request examples

Add a new workspace - scoped variable
curl -X POST "https://api.buddy.works/workspaces/:workspace/variables" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "value": "-----BEGIN RSA PRIVATE KEY-----MIIEpAIBAAKCAQEAz/qH9/t6jCVuGPHcDDvnyqtasOlsjZOgF9dtRioNG93GrLPzDoi+SgUBzesoKXb1CGOW1wKAzLSADzuFMKwSydxCBVwziGZ33F+XsnHGKX3mpx8rRZV2UWNHRtJK3wmJHfEsIDHznPcbJT2I++cK36yGGpiNtzItfdvhExeFeXJVjp/BrZS2D4ixBu5VjqFe5XskIN6N//QCgfwxTwmnhoGBnB8xiWnDCHHUP/rf6Tr6FPneWt2zE5H53kqApT1boDN/VgaltptjW5zh6DnN6S9zhMBY4OkQoQQ1pCWrH56uryYaqTdslkoP4F1Hos9DkkCwCce8J/uFLE6PVY7Xk6JiQIDAQABAoIBAEOd5TTXetkzlh7gCzWjCFIY7d0SAaXdNCg9Fq/IYRzXT6sEwKYyt3g0WqbY1FkpaeojzXIH7tNDE/nabcWuNsC77oYgy3m8J3B/LQ6zbtPCirpPZ6vS8/UBmQFdRJ1YnwbvZ4aUnpZiu7+lODXf5BESDUpe75alEt7uzZn2K8cZQRb3O8cIpv4KIqxA4kpf+VkJ/1l8pLLx/cG85pxuLy6RlV8IlerOq7ZK85afdGPM9VKK+WNvL7803/Egt5Zs8p+Uc0W8ZXHhEzje4UreYE83AgU3EMSAJp69JnYQGGQsDHAC63GqUBSpWlI1gImZ9shD2rXrHkiiTnltcTWHx0CgYEA+UCU3rB+AoptMA/R9HxfJlgFacQPCnbSeziksTV0lyd44LiXJBBbchTKFg4sxBSuPcq0+rKnUxPcNNRbmw9Wvo+amqeyRvXDuXRXTxxmFpqDQehMW1A3Hav3aVfcarGcQAiZJAOQz1Hhma05Xy2HQsqHOqqVB7FktNcoIKccRgcCgYEA1ZvoHtkKG7ZAI+XJZmJUnsimWfH67prbAnlfBKGz/gDxA0REmTsAT92+T5jiXM6VyHj6G2GGVILZoG1L1YDecF/GLvhb3QmW8cwKnaX84XoI0oKYaNGnzmZIMcKQKZdFUZfbXBTT4I/xx1I+/aYRkp2WZBE5Emfg+RfZKkLT+8CgYBkyCMpo81fs58Qk1O3M4FkMxPxzVo4KWh8jKbUV3hplX9V1b83VDDQdfaB0qIibRA1r+MGSuJgFdHtOdSsRGHOnm6f0/y2ynq4Sv1ehIoWy6UVChuNtHKEsdrZImiCT4xxK8jYEgUEfwQsQil3fY46iG+DXiPiN20T3gdgpJ/EwKBgQCBon2LgxJ0YPWqE4FXpmNOfd0fBxDPj6FMbhYxPGV8yFt8LQkoqTr2PU+LBPCTfDhAktLOnTAlx8eFae804mGcdCY3P4Z/2lCRMGBV1OVAwEpyaDPGr41jglQhJUpek9g32h59z0ZwIU7Na0Nozm35cqVCk6CLnva013rhHwojdwKBgQCd1NBOpiE2/R7JsmK8crt0NH+Q9RFPKfnv4itvsuy9dRtDV04jl60jbzVC+EKD4M6jysijNF4TDTfXljmHjkx8oGW9PTZQ88TQm8maOO1mKuQAWAu3AeCIZXqdmiQQASD+p6+goJLgpKuKQJQ2LQJZgi1gvw+jBeTJPILXQgt1Q==-----END RSA PRIVATE KEY-----", "type": "SSH_KEY", "key": "id_my_key", "encrypted": true, "description": "My Server Key", "file_path": "~/.ssh/id_my_key", "file_chmod": "600", "file_place": "CONTAINER" }'
SSH Public Key - scoped variable
curl -X POST "https://api.buddy.works/workspaces/:workspace/variables" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "value": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0af9YuXUugKPsLCZzMu1R7bLLSyCrSlLlnR+Nj8FuYaVj/rHbPBk0g6Rg3zEj8H4AffVv7Lr/K9O8L7EYl9QRZoi24UfSiR4RYQvOXLSBNbs/5FO0Vl/Fo6m83OQ91gxdEKzPLYDKBBZfilz2DY2mOxzs9GtI+MoESLV2w/VjIT3ZB6xoz0EFTm20r81/HsFkX1QRz6WGEIxGt1r8R8NpvSJf/W3nIQQCGgV1gVISaJ3Oevuozhs8DIWna3eKv0umAdM2Y3aPIxKJCqeo7LmE9bzPEoMM//h0I/hgPImcDVRfemz7j/kfOqmcfq12kA47k1nZtSipX0Bay3kCPjQDw==", "type": "SSH_PUBLIC_KEY", "key": "id_my_key", "description": "My Public Key", "file_path": "~/.ssh/id_my_key.pub", "file_chmod": "600", "file_place": "CONTAINER" }'
Project - scoped variable
curl -X POST "https://api.buddy.works/workspaces/:workspace/variables" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "key": "my_var", "value": "some value", "project": { "name": "my-project" }, "type": "VAR", "settable": true, "run_only_settable": true }'
Pipeline - scoped variable
curl -X POST "https://api.buddy.works/workspaces/:workspace/variables" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "key": "my_var", "value": "some value", "pipeline": { "id": 1 } }'
Action - scoped variable
curl -X POST "https://api.buddy.works/workspaces/:workspace/variables" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "key": "my_var", "value": "some value", "action": { "id": 1 } }'

Response examples

Add a new workspace - scoped variable
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddytest/variables/1", "id": 1, "key": "id_my_key", "value": "secure!wrhFNb0bE+u7EBP9//Uyi4grDjGq3QswCJdWnF5CXW2YhbCWLC2jvT0VgnmWohdUlrhTlS7gmuMpXBaPTdywhZ1q90HtFTaAhlUe+dgc7eTYHp5wmeFUYfgzI6bsXu/+0IDInlWJS7tGqsokcdacAcrlOhLcUimVLjR3uhm2K+KqwtX0rNhf14NxWtI6F8VdyIIzQs4XH6Ol0pRPEXdEB57ThBDEMeEXxYeeO4oueQ0aGM+bVK64fEmFar5X8IQrasmkFfbNW1XId2WxwX23NZma5Mce6NQ7R0yjrLACtYawtuhLEn0C2E1iE/VZviYegMxf+wf4NPpdtMW5lv7BjrXNM8FNpMXRaombF4BfnqQkARDIaPxt3UeCP9ZX+HLXxQvSMgSl55UZkFBKUXn9bHyil9TDAJysVIwn5Dhy1j8XzXT+8jrnA5jS0Ch+axyVydUAxek8e7am0rkpfRCVFKonyBExP+GhLfThoBJUtxetDMY9SNvq19/W9smnDewanupkuwMji7MLPYlVOvkhyeh978xJPeQX/UvWOn6Xb/rSQU3FrOOOZAMW1jJTfJXrudIBGakbl8w8rCOp4do5IjZmti7BeSVkKNpE1YYLpyit+4atzCUX8FlHSoafcE4QozQvFLM2iNXE5LgEvMcBE1F7/YQvseN5IiQnCnpB8MVw2wdpwk+eaP64ztN3ueGo/JkBppgtDLJxIWnL4/udsLpaBEO9nksNMkUa1gnOYK150YPxe8/rBIEIi2gC9TYmXgd1jzNdMgK2Djc1UXtdeSwGQL4y0ubi836BNmC65D/t7LkA5EchrVR2e943fMQmcFiBLQQNeGw7pQU5uZAx7OMvTvTyQi+Pp9/tcLDqpHZHR4V+xB1k60RbzMaVJAeE0kmqvQu/BnXLb/ktkJTZgnwEsafAUfai7i0Y0RPw05HntTtcy3oqnsjjdUv3I5/R/+c/JWKK+Ses1qWQx03k7b6ZhjBiA9v8xDneI5ieg3ybcHlCIugTs6faPwDvxmvnEzbL9tOPu/PEvml0wdd3Ujjr/M/fZvICbpNMzcBV/bxRtzyNjMVFzBkYBPtTWJnNjvN5bCFEbQxr+rrFD06FSboVbcdfcrudT0IsEI1NPIwj35GMjdDTSrcoIr9jRyZ7j0TbNe9NGvqeFv6E3uRfzcbOR3JlixPRutXWQeAlRn0NbM2QtSUoYg6lZsk1ReMrtMht2sHRwIKtITZXwCGh1RkCyUKtxPSYPzoj51Zc9BGUBWZipEGR0HMZY1vMLDPn11w6lcd/6vg+qLN18kQJ9++sDC221ntLZtrtt2349eNOdkP0mytfPIHOlhz2lOexE8iMceqe9QQwSYX0V+aZwCGBrapoT97ubV0Ae6fZ6O0xIhKiZzvOD48TbNYdz8M0VMCbiKa+WesEYFINYOgegOXgCtI4pA1OipV+xRF949lTRhW1bBeVfdBEU8tDkwqop7NFPdtFq8BsqphQkj0itN1VTR5l6Cv00qwRZm1RODyDGCL6jg/AAZCnzT793jmQuKPiExCwXz+bc6h9cAz1MzUHiqV3kyUl6Gj3gmnUB31yGt4KHXbODgEvGHD1RmYfw0tAEcHZJfSvAN91qOkCczy30gerkax3KHWl5V9WderuGfPKQYGFRZQCesSPwMwjv6dWnEvUz4WdMNyAfICtgA67LCWwbW92IG74RHtF9BNd5cKnULI8KaRNMm0nKmdVTFYhQEqcVcNWCA4tVsGnUIOcoBE+wd7mGG6RUgHpAewLi+1++ulKo5PMRvIv+5c3etj8qcnci1s8VcoYi31DgRhP/G+QwZOB1Nj4fU3wyWYsVCox934m9p5apkNhvVcd5XU9GeajK3ISCG2fos+BEXHMpBl33sUn2Q6hOvOE7stjchTRNuo6EPw6iS/dZFcLCwR2asVlQQI8W5UdIcJJ0bfO5zDWQNuhZDukGn367E714EYrvqqUynup9ElXS3jk7Jj95SYhZts1j2p1lhtLFtRhXVVNkghPkbEVv3v35PKGW2MHZI/h1K/RMZ7HUSD047rkKFjbX8kr7g0GUFdVAx0IzLlN9PTcycOcw3T2Rq6zvygxe0pkzfFBkp97VpkKdelvK1F3wah+G79Y8Uj/zfWb/pQYXsBkK3H8Vxapli0vBkBZHr+BOQGb55UV/G/F7F88sENBx/mquy8fy5a6jD/srS3Zy9viRSgRJdbGuaNiRQLES2rfabIjc5yBU9vwKMuYuMnw5pviQUNW8UPtiW2EOxuRlDDNAZuGtffqJM6BT6lewQfS3ZnCE61+6pAewiRYCOKRTgjx50g/iBPFtRSyfzUT1UC51qVTtosFXn8tFIJ8VgwgGL4gTwW6pxXkY3TAQxjMTJsQpwYDU+RsOJYsNFQyAsXOeUwoRVfqZUM/y3o9ITPyABWvzsyLyW84OkL28NmMrV6JW1dsj0eyxxDcRGhTc1caTpNhi7gBr6thABvH3u3qXX5S0m6VkK7Vb3/GemutjUdvJTueAmQYjK/SW6wd12G9CrbW4yToZrZyldKNiL+q9Y2Ql8bG20VT+1cRrzLGBoltITuHd+Aao8ofh6jWTkKFZ5Tq2I/RkZ1aKMZwRiV38oRIdSCQJGAPwH0aS/T3IdH6x5pmbk8JDtsnBi6akSlik+jKb9/i0tjam2A1zJZq30fszU0lxhFnyv0r7GuS6hPHyv5ib02BKUb0bF/825bcZNrK1J3UI/h+unBcoGgj0af+bED7gNGp124aXscL1W4IODek1SLvntetm1yFgV0m5LkHaAdU5r8tGlcBNOlzkSKOOTHfN7xB46hbcEkMNdG6eym0YjjLOCJ15KS8GT86/cDBC4/3X6Y14d6eZ9lW/6LpQMTxbMbIs62m1MzPuK02Tbt8OXvMT6N84Rd7RHtQjvrD6i2Eo1ChzteW8FRYOH2cq3TKWX7UdvZ8VwJYU0IwP0kjNpjcHps8b5m0T9e3eJf0IKirkKK8TKhoq93Lcmw0MKglp7QrHtVtIRmxgGXLBj79SPl8WNxZ2iHtbfCyZSiDWgAi0j8jumbSU6x79sFzQWM0uipF3vGq5VuKTZeRBiu6C6tupeui8fSKBSoGleqlAHNN0+GSZmopGdmC3gvPAV2Npv5SVxys2REnTVn0nuhqrrWkeqQ8OuWDCoVV4XfJeVVm0/NPj3lBu3U3AOytdllc7Icf548UIE+eG6QRzimrWZf52aEUv6n0tHB5NF16dUqqwC0yb+GhhfuxaP59BfpK8sLMyp0ErV4KE7TMo8feTeFglXm8IG/NNkPRkpX7D7cTl2TWlycrjt36ZJVj8HziQpg93f5HwZZPhftCHVfscgzoqXh01npXYTqRchywURau5GiFXMPdz1hqtGTsAUs/vBkiUe+910s6Nd5qvZj0wxE/JyJ2mhVJT5iS4FB8LOZ+vFE5jWKE78p7drikZGMzgX379nh7jdeiJjxTrdniLwiBwp20yqY+w1mQdThQOPthGRgaGkDo+I2WNBi33HTRLA2BRxT+zYmdTo+QJhkYMOCibcjRd8EFqUsK20r5MeMqHQP8MuLzqweLiSGJITNi+RjoHV8Wh0riqpZOlXmn/kVksd8H3HH8rkFDLunp1Iyy3OsDe9vmmebQPrhbkvmDsamcfL5dTQuakRafX6zG26FzZLI3oJQLOW4xSUgpc39Eg1lZDea6/qtE+8FyDxv5Li+/SYaBWD8g9ERSy1sc616qNBkwJGLFCJqeNqM/kZHV1zsPZu1H++yp3GGLTBCfGobZykSz6qaB1MMPDMmHAlYxng9vpiEilXw3cubXygINYs7xEcHCucvI6EC6to29ut2zCCr6ArSezAXOFvS9G4M7ZuAnP1uWAq1f1GEo1aZMHZt4qYClNf8VGLmNY3H8fz6V/8EIeHaPhxF8DwaXHRVeN3herqoYTuNb4r5jXz+FTNIEhPdFqe+14k5xNspHd1o57c1kNrMcfjJ1+BlIbLwAq5LN4V+1a7uX01TJjkOK7DOc1iFCB97mEl45N2AY7O9mExd/pC6vKu5DqZe4VclLeomBqH/jlJ9LUq+H67aCZWth75qswrK5T3lym2uthJrbdE1F7UYkqEgpJyBD0IXmyMC2ey/oKCs3UXriEy/NFe5QFZ5mZ/8gKa7E2I6JeV1WfiinDRtZDTcpDykTZ138mWhKcK2IiWue+ZTA7XTp1xllo+/WIBo+vRMv8yI3ecHeqmuGaXzwutXfFreticwvglsXV9DxGYUlaHdOq30PKiqRclhFW2JZYD0i2NCAzbdvxDx2azVSBkpq7OH9ogvmOP7w8OdI52XZ2bY9cSXPAPw=.IOCC4LynFRFWrd6O+Sp6Rg==", "type": "SSH_KEY", "encrypted": true, "description": "My Server Key", "file_path": "~/.ssh/id_my_key", "file_chmod": "600", "file_place": "CONTAINER", "public_value": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAs9yoz6vqv/mh7md3ApyB6EEz5DKR2uLcOFmDxFfolnRB8YxFZoxK7Ac+BV2/PNWUK/sm/n/RWc6a6JWdNwbQ9nm4A9mAMJQgRyls/PW0AIHkflO1Dzon4C7j4RJt7ijf1kFxosmVz6MaBEvMV82IpagtTGUsm4jXXclYj04QsMkUiG5JBwrl5qB6kemqUoUCptqcXlDZXtVDZBbS1HtuMXbFC8ANscbhT9+L5JX6PDwc1tozcjKDLpDpar7G8YJ5zFFBTjw/adcE2JkCB3cG9LLBbWbGFAIGsyiNBRa4wHJQP9rAKebpt4vFAof8Yg0IAvtvmoBRa5L8yousThjvQvMmWYR0QToeUx6GZzrWMZ9Z5Wa6dVqbQBRS1p4m/Xv+VaH5hI00hc3zEmow58NoKSPhipvmS5Xk74aLrj7/Wj7lHSzu54apFnhN1+1+QhC+8ITNa6lHNUY0t9xiJ5auRGDmUFsBICdPr+Npt7sOsZbdUHk/Ka0Y7hIFIElTDbWdo7sxwKenWnwrB0Y2qDprVYKgZFGbuQd57FqOYP5TF6S6raMSo03dZjj5WJpYDXJXP1RMFkFwzZUZxdqKmty+yBvf0/kd6zlr+WPTlf+CMb4l9FjwIYsYfQuBnVzwwjHVCFkbYHa1KTMBVxSAMHi4/JWgU4fDJtMMB/yvxXvG7n0=", "key_fingerprint": "d3:5a:ef:be:46:dc:ea:c9:95:51:78:54:36:da:7c:9d", "checksum": "b7827991973f4c275a70d51e96bd3e09474ac9beba74ea17d24081e83c8c13ad" }
STATUS
201 Created
SSH Public Key - scoped variable
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddytest/variables/1", "id": 1, "key": "id_my_key", "value": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0af9YuXUugKPsLCZzMu1R7bLLSyCrSlLlnR+Nj8FuYaVj/rHbPBk0g6Rg3zEj8H4AffVv7Lr/K9O8L7EYl9QRZoi24UfSiR4RYQvOXLSBNbs/5FO0Vl/Fo6m83OQ91gxdEKzPLYDKBBZfilz2DY2mOxzs9GtI+MoESLV2w/VjIT3ZB6xoz0EFTm20r81/HsFkX1QRz6WGEIxGt1r8R8NpvSJf/W3nIQQCGgV1gVISaJ3Oevuozhs8DIWna3eKv0umAdM2Y3aPIxKJCqeo7LmE9bzPEoMM//h0I/hgPImcDVRfemz7j/kfOqmcfq12kA47k1nZtSipX0Bay3kCPjQDw==", "type": "SSH_PUBLIC_KEY", "description": "My Public Key", "file_path": "~/.ssh/id_my_key.pub", "file_chmod": "600", "file_place": "CONTAINER" }
STATUS
201 Created
Project - scoped variable
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddytest/variables/1", "id": 1, "key": "my_var", "value": "some value", "type": "VAR", "project": { "url": "https://api.buddy.works/workspaces/buddytest/projects/my-project", "html_url": "https://app.buddy.works/site/my-project", "name": "my-project", "display_name": "my-project", "status": "ACTIVE" }, "settable": true, "run_only_settable": true, "encrypted": false, "description": "" }
STATUS
201 Created
Pipeline - scoped variable
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddytest/variables/1", "type": "VAR", "id": 1, "key": "my_var", "value": "some value", "encrypted": false }
STATUS
201 Created
Action - scoped variable
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddytest/variables/1", "type": "VAR", "id": 1, "key": "my_var", "value": "some value", "encrypted": false }
STATUS
201 Created