Required permission
Account > Admin > Encryption > Create
Request body
- {object}
name
string requiredmin length3max length100pattern^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$description
stringmax length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$envelope
(multiple options: anyOf) required- {object}
provider
requiredone ofgcpprojectId
string requiredpattern^[a-z][a-z0-9-]{4,28}[a-z0-9]$location
string requiredmax length63pattern^[a-z0-9-]+$keyRing
string requiredmax length63pattern^[A-Za-z0-9_-]+$cryptoKey
string requiredmax length63pattern^[A-Za-z0-9_-]+$credentials
{object}keyfileJson
stringoptions
{object}maxUses
integermin1maxAgeMs
integermin1cacheTtlSeconds
integermin1- {object}
provider
requiredone ofawsregion
string requiredkeyId
string requiredcredentials
{object} requiredaccessKey
stringsecretKey
stringroleArn
stringexternalId
stringoptions
{object}maxUses
integermin1maxAgeMs
integermin1cacheTtlSeconds
integermin1- {object}
provider
requiredone ofazurekeyId
string requiredmax length2048pattern^[^?#@\s\\%]+$credentials
{object} requiredtenantId
string requiredclientId
string requiredsecret
string requiredoptions
{object}maxUses
integermin1maxAgeMs
integermin1cacheTtlSeconds
integermin1- {object}
provider
requiredone ofvault-transitaddress
string requiredmax length2048pattern^[^?#@\s\\%]+$mountPath
stringmax length256pattern^[A-Za-z0-9_.-]+(\/[A-Za-z0-9_.-]+)*$namespace
stringmax length256pattern^[A-Za-z0-9_.-]+(\/[A-Za-z0-9_.-]+)*$keyName
string requiredmax length256pattern^(?!\.+$)[A-Za-z0-9_.-]+$credentials
{object} requiredtoken
string requiredmax length4096options
{object}maxUses
integermin1maxAgeMs
integermin1cacheTtlSeconds
integermin1
OR
OR
OR
Response body
- {object}Response object.
data
{object} requiredResult data.id
string requiredThe name-derived ID of the encryption configuration.name
string requireddescription
stringcreatedAt
string requiredactive
boolean requiredfirstActivatedAt
stringTime of first activation; absent for unused configurations.envelope
(multiple options: anyOf)- {object}
provider
string requiredone ofawsregion
string requiredkeyId
string requiredexternalId
stringExternal ID used for cross-account role assumption.options
{object}Data-key rotation and cache overrides, subject to platform-configured bounds.maxUses
integerMaximum encryption uses per data key.min1maxAgeMs
integerMaximum data-key lifetime in milliseconds.min1cacheTtlSeconds
integerDecrypted data-key cache TTL in seconds.min1- {object}
provider
string requiredone ofgcpprojectId
string requiredlocation
string requiredkeyRing
string requiredcryptoKey
string requiredserviceAccountEmail
stringNorthflank-generated identity to grant access to the KMS key.keyfileServiceAccountEmail
stringService-account email from the supplied key file.options
{object}Data-key rotation and cache overrides, subject to platform-configured bounds.maxUses
integerMaximum encryption uses per data key.min1maxAgeMs
integerMaximum data-key lifetime in milliseconds.min1cacheTtlSeconds
integerDecrypted data-key cache TTL in seconds.min1- {object}
provider
string requiredone ofazurekeyId
string requiredoptions
{object}Data-key rotation and cache overrides, subject to platform-configured bounds.maxUses
integerMaximum encryption uses per data key.min1maxAgeMs
integerMaximum data-key lifetime in milliseconds.min1cacheTtlSeconds
integerDecrypted data-key cache TTL in seconds.min1- {object}
provider
string requiredone ofvault-transitaddress
string requiredmountPath
stringnamespace
stringkeyName
string requiredoptions
{object}Data-key rotation and cache overrides, subject to platform-configured bounds.maxUses
integerMaximum encryption uses per data key.min1maxAgeMs
integerMaximum data-key lifetime in milliseconds.min1cacheTtlSeconds
integerDecrypted data-key cache TTL in seconds.min1vault
{object}Legacy Vault configuration.version
string required
OR
OR
OR
POST /v1/encryption/configurations
POST /v1/teams/{teamId}/encryption/configurations
Example request
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request POST \
--data '{"name":"string","envelope":{"provider":"gcp","projectId":"string","location":"string","keyRing":"string","cryptoKey":"string"}}' \
https://api.northflank.com/v1/encryption/configurationsExample response
200 OK
JSON
{
"data": {
"id": "production-kms"
}
}Example response
400 Bad Request
Example response
409 Conflict