Get template | Templates | Northflank API docs
v1
Double column
API
CLI
JS Client

Templates /

Get template

Get information about the given template.

Required permission

Account > Templates > General > Read

Path parameters

    • templateId

      string required

      ID of the template

Query parameters

    • per_page

      integer

      The number of results to display per request. Maximum of 100 results per page.

    • page

      integer

      The page number to access.

    • cursor

      string

      The cursor returned from the previous page of results, used to request the next page.

Response body

  • {object}

    Response object.

    • data

      {object} required

      Result data.

      • name

        string required

        Name of the template.

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

        string

        Description of the template.

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

        string required

        The version of the Northflank API to run the template against.

        one of
        v1
      • project

        (multiple options: oneOf) required

        Details of the project the template will run in.

        • {object}

          Use an existing project

          • id

            string required

            The ID of the project to use.

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

          OR

        • {object}

          Create a new project

          • spec

            (multiple options: oneOf) required
      • arguments

        {object}

        A set of arguments that can be referenced in a template using '${args.argumentName}'.

        • spec

          (multiple options: oneOf) required

          A node representing an action to be performed as part of the template.

        • id

          string required

          Identifier for the template

        • gitops

          {object}
          • vcsService

            string required

            The VCS provider to use.

            one of
            bitbucket, gitlab, github, self-hosted
          • selfHostedVcsId

            string

            If projectType is self-hosted, the ID of the self-hosted vcs to use.

            pattern
            ^[A-Za-z0-9-]+\/[A-Za-z0-9-]+$
          • accountLogin

            string

            By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If accountLogin is provided, Northflank will instead use your linked account with that login name.

          • repoUrl

            string required

            URL of the Git repo to sync the template with.

            pattern
            ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$
          • branch

            string required

            The name of the branch to use.

          • filePath

            string required

            The file path to the template in the repository. If using an existing template, it should be in JSON format.

            pattern
            ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$
          • templateSha

            string required

            The SHA of the current commit that is being used for the template.

        • concurrencyPolicy

          string

          Defines the concurrency behaviour of the template with respect to parallel runs.

          one of
          allow, queue, forbid
        • options

          {object} required
          • autorun

            boolean required

            Whether autorun is enabled

        • createdAt

          string

          time of creation

        • updatedAt

          string

          time of update

    API
    CLI
    JS Client

    GET /v1/templates/{templateId}

    Example response

    200 OK

    Details about the template.

    JSON

    {
      "data": {
        "name": "Example Template",
        "description": "This is a sample template.",
        "apiVersion": "v1",
        "arguments": {
          "ARGUMENT_1": "value_1",
          "ARGUMENT_2": "value_2"
        },
        "spec": {
          "kind": "Workflow",
          "spec": {
            "type": "sequential",
            "steps": [
              null
            ]
          }
        },
        "id": "example-template",
        "gitops": {
          "vcsService": "github",
          "accountLogin": "github-user",
          "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
          "branch": "main",
          "filePath": "northflank.json",
          "templateSha": "8c7e040ee3737ddc3a713363ae72bbe960e9fb16"
        },
        "concurrencyPolicy": "allow"
      }
    }

    © 2024 Northflank Ltd. All rights reserved.