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
        100
        pattern
        ^[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.2
      • arguments

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

          string
        • 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
          min length
          3
          max length
          100
          pattern
          ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$
        • gitops

          {object}
          • vcsService

            string required
            The VCS provider to use.
            one of
            bitbucket, gitlab, github, self-hosted, azure
          • 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-]+)|([0-9a-f]{24})$
          • 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.
          • vcsLinkId

            string
            Legacy key. Please used accountLogin instead.
          • 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.2",
        "spec": {
          "kind": "Workflow",
          "spec": {
            "context": {
              "projectId": "example-project"
            },
            "type": "sequential"
          }
        },
        "id": "example-template",
        "gitops": {
          "vcsService": "github",
          "accountLogin": "github-user",
          "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
          "branch": "main",
          "templateSha": "8c7e040ee3737ddc3a713363ae72bbe960e9fb16"
        },
        "concurrencyPolicy": "allow"
      }
    }

    © 2024 Northflank Ltd. All rights reserved.