Secrets /
Create secret
Required permission
Project > Secrets > General > Create
Path parameters
projectId
string requiredID of the project
Request body
- {object}
name
string requiredThe name of the secret.
min length3max length39pattern^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$description
stringA description of the secret.
max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$secretType
string requiredThe type of the created secret
one ofenvironment-arguments, environment, argumentspriority
integer requiredThe priority with which different secrets will be merged.
min0max100restrictions
{object}Restriction settings of the secret
restricted
booleanWhether the secret is restricted to specific resources. If this is
true
, only resources listed innfObjects
or with a tag listed intags
will have access to these secrets. Otherwise, all resources in the project will be able to access it.nfObjects
[array]List of Northflank services & jobs the secret is restricted to
- {object}
id
string requiredID of the entity the secret is restricted to.
pattern^[A-Za-z0-9-]+$type
string requiredType of the entity the secret is restricted to.
one ofservice, jobaddonDependencies
[array]An array of addons to link to this secret group.
- {object}
An object containing data about the addon to link.
addonId
string requiredThe id of the addon to link.
pattern^[A-Za-z0-9-]+$keys
[array] requiredAn array of objects containing details about the keys to link to this secret group.
- {object}
Details about the key to link to this secret group.
keyName
string requiredThe name of the key to link.
pattern[a-zA-Z]+aliases
[array]An array of aliases for the key.
- string
The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
pattern^[a-zA-Z0-9_./-]*$ secrets
{object}variables
{object}Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
files
{object}Secret files as JSON object, encrypted at rest. File path must be absolute
Response body
- {object}
Response object.
data
{object} requiredResult data.
name
string requiredThe name of the secret.
min length3max length39pattern^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$description
stringA description of the secret.
max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$secretType
string requiredThe type of the created secret
one ofenvironment-arguments, environment, argumentspriority
integer requiredThe priority with which different secrets will be merged.
min0max100restrictions
{object}Restriction settings of the secret
restricted
booleanWhether the secret is restricted to specific resources. If this is
true
, only resources listed innfObjects
or with a tag listed intags
will have access to these secrets. Otherwise, all resources in the project will be able to access it.nfObjects
[array]List of Northflank services & jobs the secret is restricted to
- {object}
id
string requiredID of the entity the secret is restricted to.
pattern^[A-Za-z0-9-]+$type
string requiredType of the entity the secret is restricted to.
one ofservice, jobaddonDependencies
[array]An array of addons to link to this secret group.
- {object}
An object containing data about the addon to link.
addonId
string requiredThe id of the addon to link.
pattern^[A-Za-z0-9-]+$keys
[array] requiredAn array of objects containing details about the keys to link to this secret group.
- {object}
Details about the key to link to this secret group.
keyName
string requiredThe name of the key to link.
pattern[a-zA-Z]+aliases
[array]An array of aliases for the key.
- string
The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
pattern^[a-zA-Z0-9_./-]*$ secrets
{object}variables
{object}Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
files
{object}Secret files as JSON object, encrypted at rest. File path must be absolute
id
string requiredIdentifier for the secret group
createdAt
stringtime of creation
updatedAt
stringtime of update
POST /v1/projects/{projectId}/secrets
Example request
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request POST \
--data '{"name":"Example Secret","description":"A description","tags":["my-tag"],"secretType":"environment","priority":10,"restrictions":{"restricted":true,"nfObjects":[{"id":"example-service","type":"service"}],"tags":["my-tag"]},"addonDependencies":[{"addonId":"example-addon","keys":[{"keyName":"USERNAME","aliases":["MONGO_USERNAME"]}]}],"secrets":{"variables":{"NODE_ENV":"production","MONGO_DB":"some_connection_string"},"files":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}}}}' \
https://api.northflank.com/v1/projects/{projectId}/secrets
Example response
200 OK
JSON
{
"data": {
"name": "Example Secret",
"description": "A description",
"tags": [
"my-tag"
],
"secretType": "environment",
"priority": 10,
"restrictions": {
"restricted": true,
"nfObjects": [
{
"id": "example-service",
"type": "service"
}
],
"tags": [
"my-tag"
]
},
"addonDependencies": [
{
"addonId": "example-addon",
"keys": [
{
"keyName": "USERNAME",
"aliases": [
"MONGO_USERNAME"
]
}
]
}
],
"secrets": {
"variables": {
"NODE_ENV": "production",
"MONGO_DB": "some_connection_string"
},
"files": {
"/dir/fileName": {
"data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
"encoding": "utf-8"
}
}
},
"id": "example-secret-group"
}
}
Example response
409 Conflict