Double column

Services /

Create combined service

Creates a new combined service.

URL parameters

    • project

      string required

      ID of the project

Request attributes

  • object

    • name

      string required

      The name of the service.

      pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$

      min length: 3

      max length: 28

    • description


      A description of the service.

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

      max length: 200

    • billing

      object required

      • deploymentPlan

        string required

        The ID of the deployment plan to use.

        pattern: [A-Za-z0-9-]

    • deployment

      object required

      • instances

        integer required

        The number of instances to run the service on.

    • ports


      • object

        • name

          string required

          The name used to identify the port.

          pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$

        • internalPort

          integer required

          The port number.

          min: 1

          max: 65535

        • public


          If true, the port will be exposed publicly.

        • protocol

          string required

          The protocol to use for the port.

          one of: HTTP, TCP, UDP

    • vcsData

      object required

      • projectUrl

        string required

        URL of the Git repo to build.

      • projectType

        string required

        The VCS provider to use.

        one of: bitbucket, gitlab, github, self-hosted

      • dockerFilePath

        string required

        The file path of the Dockerfile.

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

      • dockerWorkDir

        string required

        The working directory of the Dockerfile.

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

      • projectBranch

        string required

        The name of the branch to use.

Response attributes

  • object

    • serviceType

      string required

      The type of the service created

    • serviceId

      string required

      The internal ID of the newly created service

    • buildInitiated

      boolean required

      Whether the service will be built immediately


POST /v1beta/projects/{project}/services/combined

Example request

request body


curl --header "Content-Type: application/json" \
  --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
  --request POST \
  --data '{"name":"Example Service","description":"A service description","billing":{"deploymentPlan":"micro"},"deployment":{"instances":1},"ports":[{"name":"port-1","internalPort":8080,"public":true,"protocol":"HTTP"}],"vcsData":{"projectUrl":"","projectType":"github","dockerFilePath":"/Dockerfile","dockerWorkDir":"/","projectBranch":"master"}}' \{project}/services/combined

Example response

200 OK

Details about the newly created service.


  "serviceType": "combined",
  "serviceId": "new-service",
  "buildInitiated": true

Example response

409 Conflict

There is already a service with the same derived identifier

© 2020 Northflank Ltd. All rights reserved.