v1
Double column
API
CLI
JS client

Secrets /

Create secret

Creates a secret with the specified payload

Path parameters

    • projectId

      string required

      ID of the project

Request body

  • {object}
    • name

      string required

      The name of the secret.

      min length
      3
      max length
      20
      pattern
      ^[a-zA-Z](-?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
    • description

      string

      A description of the secret.

      max length
      200
      pattern
      ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
    • secretType

      string required

      The type of the created secret

      one of
      environment, arguments
    • priority

      integer required

      The priority with which different secrets will be merged.

      min
      0
      max
      100
    • restrictions

      {object}

      Restriction settings of the secret

      • restricted

        boolean

        Is the secret restricted

      • nfObjects

        [array]

        List of Northflank services & jobs the secret is restricted to

        • {object}
          • id

            string required

            ID of the entity the secret is restricted to.

            pattern
            ^[A-Za-z0-9-]+$
          • type

            string required

            Type of the entity the secret is restricted to.

    • addonDependencies

      [array]

      An array of addons to link to this secret group.

      • {object}

        An object containing data about the addon to link.

        • addonId

          string

          The internal id of the addon to link.

          pattern
          ^[A-Za-z0-9-]+$
        • keys

          [array]

          An 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 required

              The name of the key to link.

            • aliases

              [array]

              An array of aliases for the key.

              • string

                The name of the alias

    • data

      {object}

      Secret contents as JSON object, encrypted at rest

    Response body

    • {object}
      • id

        string required

        The internal ID of the newly created secret group

      • secretType

        string required

        The type of the created secret group

    API
    CLI
    JS client

    POST /v1/projects/{projectId}/secrets

    Example request

    request body

    curl
    curl --header "Content-Type: application/json" \
      --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
      --request POST \
      --data '{"name":"Example Secret","description":"A description","secretType":"environment","priority":10,"restrictions":{"restricted":false,"nfObjects":[{"id":"example-service","type":"service"}]},"addonDependencies":[{"addonId":"example-addon","keys":[{"keyName":"username","aliases":["MONGO_USERNAME"]}]}],"data":{"NODE_ENV":"production","MONGO_DB":"some_connection_string"}}' \
      https://api.northflank.com/v1/projects/{projectId}/secrets

    Example response

    200 OK

    Details about the newly created secret.

    JSON

    {
      "id": "new-secret",
      "secretType": "environment"
    }

    Example response

    409 Conflict

    There is already a secret with the same derived identifier

    © 2021 Northflank Ltd. All rights reserved.