Patch manual job | Jobs | Northflank API docs
v1
Double column
API
CLI
JS Client

Jobs /

Patch manual job

Updates a new manual job that only runs when initiated via the UI, CLI, API or JS client.

Required permission

Project > Jobs > General > Update

Path parameters

    • projectId

      string required

      ID of the project

    • jobId

      string required

      ID of the job

Request body

  • {object}
    • description

      string

      A description of the job.

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

      [array]

      An array of previously defined tags to help identify and group the resource.

      • string
        min length
        3
        max length
        39
        pattern
        ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
    • billing

      {object}
      • buildPlan

        string

        The ID of the build plan to use.

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

        string

        The ID of the deployment plan to use.

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

        {object}
        • enabled

          boolean
        • configuration

          {object}
          • gpuType

            string
          • timesliced

            boolean
    • backoffLimit

      integer

      The number of attempts to rerun a job before it is marked as failed.

    • runOnSourceChange

      string

      Configure when the job should be run if the source image changes.

      one of
      never, cd-promote, always
    • activeDeadlineSeconds

      integer

      The maximum amount of time, in seconds, for a job to run before it is marked as failed.

      min
      1
    • disabledCI

      boolean

      Whether CI should be disabled. Only relevant for jobs deploying directly from version control.

    • buildConfiguration

      {object}
      • pathIgnoreRules

        [array]

        An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow .gitignore syntax.

        • string

          A path ignore rule, following .gitignore syntax. For example, *.md will ignore all files ending with .md.

          max length
          260
      • isAllowList

        boolean

        If true, the functionality of pathIgnoreRules will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in pathIgnoreRules.

      • ciIgnoreFlagsEnabled

        boolean

        If true, enables commit ignore flags. If a commit message contains one or more of the flags in ciIgnoreFlags, that commit will not be built.

      • ciIgnoreFlags

        [array]

        An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to ["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]

        • string

          A commit ignore flag.

          max length
          72
      • dockerfileTarget

        string

        If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.

      • dockerCredentials

        [array]
        • string

          The ID of the docker credentials to use.

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

        boolean

        Include .git folder inside the build context

      • fullGitClone

        boolean

        Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.

      • storage

        {object}
        • ephemeralStorage

          {object}
          • storageSize

            integer

            Ephemeral storage per build in MB

            one of
            16384, 32768, 65536, 131072, 262144, 524288
            min
            16384
            max
            65536
    • buildSettings

      {object}
      • storage

        {object}
        • ephemeralStorage

          {object}
          • storageSize

            integer

            Ephemeral storage per build in MB

            one of
            16384, 32768, 65536, 131072, 262144, 524288
            min
            16384
            max
            65536
      • dockerfile

        {object}
        • buildEngine

          string

          Build engine to use. Defaults to recommended build engine kaniko

          one of
          kaniko, buildkit
        • dockerFilePath

          string

          The file path of the Dockerfile.

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

          string

          The working directory of the Dockerfile.

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

          boolean

          Should intermediate image layers be cached?

      • buildpack

        {object}
        • builder

          string

          Buildpack stack to use. Defaults to recommended stack HEROKU_22.

          one of
          HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL
        • buildpackLocators

          [array]

          Array of custom Buildpacks to use.

          • string

            Url or registry identifier of custom Buildpack.

        • buildContext

          string

          The working directory to build in.

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

          boolean

          Should build dependencies be cached?

    • runtimeEnvironment

      {object}

      An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.

      • runtimeFiles

        {object}

        Secret files as JSON object, encrypted at rest. File path must be absolute

        • buildArguments

          {object}

          An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.

          • buildFiles

            {object}

            Secret files as JSON object, encrypted at rest. File path must be absolute

            • healthChecks

              [array]

              An array of health checks.

              • {object}

                A health check object.

                • protocol

                  string required

                  The protocol to access the health check with.

                  one of
                  HTTP, CMD, TCP
                • type

                  string required

                  The type of health check.

                  one of
                  livenessProbe, readinessProbe, startupProbe
                • path

                  string

                  The path of the health check endpoint. Required when protocol is HTTP.

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

                  string

                  The command to run for the health check. Required when protocol is CMD

                • port

                  integer

                  Port number for the health check endpoint. Required when protocol is HTTP.

                  min
                  1
                • initialDelaySeconds

                  integer required

                  Initial delay, in seconds, before the health check is first run.

                  min
                  1
                  max
                  180
                • periodSeconds

                  integer required

                  The time between each check, in seconds.

                  min
                  10
                  max
                  600
                • timeoutSeconds

                  integer required

                  The time to wait for a response before marking the health check as a failure.

                  min
                  1
                  max
                  60
                • failureThreshold

                  integer required

                  The maximum number of allowed failures.

                  min
                  1
                  max
                  255
                • successThreshold

                  integer

                  The number of successes required to mark the health check as a success.

                  min
                  1
                  max
                  255

          Response body

          • {object}

            Response object.

            • data

              {object} required

              Result data.

              • name

                string required

                The name of the job.

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

                string

                A description of the job.

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

                [array]

                An array of previously defined tags to help identify and group the resource.

                • string
                  min length
                  3
                  max length
                  39
                  pattern
                  ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
              • billing

                {object} required
                • buildPlan

                  string

                  The ID of the build plan to use.

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

                  string required

                  The ID of the deployment plan to use.

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

                  {object}
                  • enabled

                    boolean
                  • configuration

                    {object}
                    • gpuType

                      string required
                    • timesliced

                      boolean
              • backoffLimit

                integer required

                The number of attempts to rerun a job before it is marked as failed.

              • runOnSourceChange

                string

                Configure when the job should be run if the source image changes.

                one of
                never, cd-promote, always
              • activeDeadlineSeconds

                integer

                The maximum amount of time, in seconds, for a job to run before it is marked as failed.

                min
                1
              • disabledCI

                boolean

                Whether CI should be disabled. Only relevant for jobs deploying directly from version control.

              • buildConfiguration

                {object}
                • pathIgnoreRules

                  [array]

                  An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow .gitignore syntax.

                  • string

                    A path ignore rule, following .gitignore syntax. For example, *.md will ignore all files ending with .md.

                    max length
                    260
                • isAllowList

                  boolean

                  If true, the functionality of pathIgnoreRules will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in pathIgnoreRules.

                • ciIgnoreFlagsEnabled

                  boolean

                  If true, enables commit ignore flags. If a commit message contains one or more of the flags in ciIgnoreFlags, that commit will not be built.

                • ciIgnoreFlags

                  [array]

                  An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to ["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]

                  • string

                    A commit ignore flag.

                    max length
                    72
                • dockerfileTarget

                  string

                  If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.

                • dockerCredentials

                  [array]
                  • string

                    The ID of the docker credentials to use.

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

                  boolean

                  Include .git folder inside the build context

                • fullGitClone

                  boolean

                  Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.

                • storage

                  {object}
                  • ephemeralStorage

                    {object}
                    • storageSize

                      integer

                      Ephemeral storage per build in MB

                      one of
                      16384, 32768, 65536, 131072, 262144, 524288
                      min
                      16384
                      max
                      65536
              • runtimeEnvironment

                {object}

                An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.

                • runtimeFiles

                  {object}

                  Secret files as JSON object, encrypted at rest. File path must be absolute

                  • buildArguments

                    {object}

                    An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.

                    • buildFiles

                      {object}

                      Secret files as JSON object, encrypted at rest. File path must be absolute

                      • healthChecks

                        [array]

                        An array of health checks.

                        • {object}

                          A health check object.

                          • protocol

                            string required

                            The protocol to access the health check with.

                            one of
                            HTTP, CMD, TCP
                          • type

                            string required

                            The type of health check.

                            one of
                            livenessProbe, readinessProbe, startupProbe
                          • path

                            string

                            The path of the health check endpoint. Required when protocol is HTTP.

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

                            string

                            The command to run for the health check. Required when protocol is CMD

                          • port

                            integer

                            Port number for the health check endpoint. Required when protocol is HTTP.

                            min
                            1
                          • initialDelaySeconds

                            integer required

                            Initial delay, in seconds, before the health check is first run.

                            min
                            1
                            max
                            180
                          • periodSeconds

                            integer required

                            The time between each check, in seconds.

                            min
                            10
                            max
                            600
                          • timeoutSeconds

                            integer required

                            The time to wait for a response before marking the health check as a failure.

                            min
                            1
                            max
                            60
                          • failureThreshold

                            integer required

                            The maximum number of allowed failures.

                            min
                            1
                            max
                            255
                          • successThreshold

                            integer

                            The number of successes required to mark the health check as a success.

                            min
                            1
                            max
                            255
                      • jobType

                        string required

                        Type of the job (manual or manual)

                        one of
                        manual
                      • id

                        string required

                        Identifier for the job

                      • appId

                        string required

                        Full identifier used for job deployment

                      • deployment

                        {object}
                        • buildpack

                          {object}

                          Allows for customization of buildpack runtime

                          • configType

                            string required

                            Type of buildpack run configuration

                            one of
                            default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand
                          • customProcess

                            string

                            Custom process which should be run. Required in case where configType is customProcess

                          • customEntrypoint

                            string

                            Custom entrypoint which should be run. Required in case where configType is customEntrypointCustomCommand

                          • customCommand

                            string

                            Custom command which should be run. Required in case where configType is customCommand, customEntrypointCustomCommand or originalEntrypointCustomCommand

                        • docker

                          {object}

                          Allows for customization of docker runtime

                          • configType

                            string required

                            Type of entrypoint & command override configuration

                            one of
                            default, customEntrypoint, customCommand, customEntrypointCustomCommand
                          • customEntrypoint

                            string

                            Custom entrypoint which should be used. Required in case where configType is customEntrypoint or customEntrypointCustomCommand

                          • customCommand

                            string

                            Custom command which should be used. Required in case where configType is customCommand or customEntrypointCustomCommand

                        • storage

                          {object}
                          • ephemeralStorage

                            {object}
                            • storageSize

                              integer

                              Ephemeral storage per container in MB

                              one of
                              1024, 2048, 5120, 10240, 20480, 30720, 40960, 51200, 61440, 81920, 102400, 122880, 153600, 204800
                              min
                              1024
                              max
                              204800
                          • shmSize

                            integer

                            Configures the amount of available memory-backed disk space available to /dev/shm

                            one of
                            64, 128, 256, 512, 1024, 2048, 5120, 10240
                            min
                            64
                            max
                            10240
                        • gpu

                          {object}
                          • enabled

                            boolean
                          • configuration

                            {object}
                            • gpuType

                              string required
                            • timesliced

                              boolean
                        • gracePeriodSeconds

                          integer

                          The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.

                          min
                          15
                          max
                          600
                        • vcs

                          {object}
                          • projectUrl

                            string required

                            URL of the Git repo to build.

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

                            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.

                          • vcsLinkId

                            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 vcsLinkId is provided, Northflank will instead use your linked account with that ID.

                            min length
                            24
                            max length
                            24
                          • projectBranch

                            string required

                            The name of the branch to use.

                        • external

                          {object}
                          • imagePath

                            string required

                            Image to be deployed. When not deploying from Dockerhub the URL must be specified.

                            pattern
                            ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+)(\/v1)?)?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$
                          • credentials

                            string

                            ID of the saved credentials to use to access this external image.

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

                          {object}
                          • id

                            string required

                            ID of the build service to deploy

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

                            string

                            Branch to deploy

                          • buildSHA

                            (multiple options: oneOf)

                            Commit SHA to deploy, or 'latest' to deploy the most recent commit

                            • string
                              min length
                              40
                              max length
                              40
                            • OR

                            • string
                              one of
                              latest
                          • buildId

                            string

                            ID of the build that should be deployed

                        • imageUrl

                          string

                          Image registry url of the deployed image.

                      • buildSettings

                        (multiple options: oneOf)
                        • {object}

                          Build from a Dockerfile

                          • storage

                            {object}
                            • ephemeralStorage

                              {object}
                              • storageSize

                                integer

                                Ephemeral storage per build in MB

                                one of
                                16384, 32768, 65536, 131072, 262144, 524288
                                min
                                16384
                                max
                                65536
                          • dockerfile

                            {object} required
                            • buildEngine

                              string

                              Build engine to use. Defaults to recommended build engine kaniko

                              one of
                              kaniko, buildkit
                            • 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-._]*$
                            • useCache

                              boolean

                              Should intermediate image layers be cached?

                          OR

                        • {object}

                          Build from a Buildpack

                          • storage

                            {object}
                            • ephemeralStorage

                              {object}
                              • storageSize

                                integer

                                Ephemeral storage per build in MB

                                one of
                                16384, 32768, 65536, 131072, 262144, 524288
                                min
                                16384
                                max
                                65536
                          • buildpack

                            {object} required
                            • builder

                              string

                              Buildpack stack to use. Defaults to recommended stack HEROKU_22.

                              one of
                              HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL
                            • buildpackLocators

                              [array]

                              Array of custom Buildpacks to use.

                              • string

                                Url or registry identifier of custom Buildpack.

                            • buildContext

                              string

                              The working directory to build in.

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

                              boolean

                              Should build dependencies be cached?

                      • status

                        {object} required

                        Details about the current job status.

                        • build

                          {object}

                          Details about the status of the most recent build.

                          • status

                            string required

                            The current status of the build.

                            one of
                            QUEUED, PENDING, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED
                          • lastTransitionTime

                            string

                            The timestamp of when the build reached this status.

                      • cluster

                        {object}
                        • id

                          required
                          one of
                          aws-cluster-id
                        • name

                          required
                          one of
                          AWS Cluster Name
                        • namespace

                          one of
                          ns-krbfnmxfv5x8-
                      • createdAt

                        string

                        time of creation

                      • updatedAt

                        string

                        time of update

                  API
                  CLI
                  JS Client

                  PATCH /v1/projects/{projectId}/jobs/manual/{jobId}

                  Example request

                  Request body
                  curl
                  curl --header "Content-Type: application/json" \
                    --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
                    --request PATCH \
                    --data '{"description":"A job description","tags":["my-tag"],"billing":{"buildPlan":"nf-compute-200-8","deploymentPlan":"nf-compute-20"},"backoffLimit":0,"runOnSourceChange":"never","activeDeadlineSeconds":600,"buildConfiguration":{"pathIgnoreRules":["README.md"],"isAllowList":false,"ciIgnoreFlags":["[skip ci]"],"dockerCredentials":["example-docker-credential"],"storage":{"ephemeralStorage":{"storageSize":16384}}},"buildSettings":{"storage":{"ephemeralStorage":{"storageSize":16384}},"dockerfile":{"buildEngine":"kaniko","dockerFilePath":"/Dockerfile","dockerWorkDir":"/","useCache":false},"buildpack":{"builder":"HEROKU_22","buildpackLocators":["https://buildpack-registry.heroku.com/cnb/mars/create-react-app"],"buildContext":"/","useCache":false}},"runtimeEnvironment":{"variable1":"abcdef","variable2":"12345"},"runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"buildArguments":{"variable1":"abcdef","variable2":"12345"},"buildFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"healthChecks":[{"protocol":"HTTP","type":"readinessProbe","path":"/health-check","port":8080,"initialDelaySeconds":10,"periodSeconds":60,"timeoutSeconds":1,"failureThreshold":3,"successThreshold":1}]}' \
                    https://api.northflank.com/v1/projects/{projectId}/jobs/manual/{jobId}

                  Example response

                  200 OK

                  Details about the updated job.

                  JSON

                  {
                    "data": {
                      "name": "Example Job",
                      "description": "A job description",
                      "tags": [
                        "my-tag"
                      ],
                      "billing": {
                        "buildPlan": "nf-compute-200-8",
                        "deploymentPlan": "nf-compute-20"
                      },
                      "backoffLimit": 0,
                      "runOnSourceChange": "never",
                      "activeDeadlineSeconds": 600,
                      "buildConfiguration": {
                        "pathIgnoreRules": [
                          "README.md"
                        ],
                        "isAllowList": false,
                        "ciIgnoreFlags": [
                          "[skip ci]"
                        ],
                        "dockerCredentials": [
                          "example-docker-credential"
                        ],
                        "storage": {
                          "ephemeralStorage": {
                            "storageSize": 16384
                          }
                        }
                      },
                      "runtimeEnvironment": {
                        "variable1": "abcdef",
                        "variable2": "12345"
                      },
                      "runtimeFiles": {
                        "/dir/fileName": {
                          "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                          "encoding": "utf-8"
                        }
                      },
                      "buildArguments": {
                        "variable1": "abcdef",
                        "variable2": "12345"
                      },
                      "buildFiles": {
                        "/dir/fileName": {
                          "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                          "encoding": "utf-8"
                        }
                      },
                      "healthChecks": [
                        {
                          "protocol": "HTTP",
                          "type": "readinessProbe",
                          "path": "/health-check",
                          "port": 8080,
                          "initialDelaySeconds": 10,
                          "periodSeconds": 60,
                          "timeoutSeconds": 1,
                          "failureThreshold": 3,
                          "successThreshold": 1
                        }
                      ],
                      "jobType": "manual",
                      "id": "example-job",
                      "appId": "/example-user/default-project/example-job",
                      "deployment": {
                        "docker": {
                          "configType": "default"
                        },
                        "storage": {
                          "ephemeralStorage": {
                            "storageSize": 1024
                          }
                        },
                        "vcs": {
                          "projectUrl": "https://github.com/northflank/gatsby-with-northflank",
                          "projectType": "github",
                          "accountLogin": "github-user",
                          "projectBranch": "master"
                        },
                        "external": {
                          "imagePath": "nginx:latest",
                          "credentials": "example-credentials"
                        },
                        "internal": {
                          "id": "example-build-service",
                          "branch": "master",
                          "buildId": "premium-guide-6393"
                        }
                      },
                      "buildSettings": {
                        "storage": {
                          "ephemeralStorage": {
                            "storageSize": 16384
                          }
                        },
                        "dockerfile": {
                          "buildEngine": "kaniko",
                          "dockerFilePath": "/Dockerfile",
                          "dockerWorkDir": "/",
                          "useCache": false
                        }
                      },
                      "status": {
                        "build": {
                          "status": "SUCCESS",
                          "lastTransitionTime": "2021-11-29T11:47:16.624Z"
                        }
                      }
                    }
                  }

                  © 2024 Northflank Ltd. All rights reserved.