---
title: "Create manual job"
method: POST
path: "/v1/teams/{teamId}/projects/{projectId}/jobs/manual"
tags: ["Jobs", "project"]
deprecated: true
---

# Create manual job

`POST /v1/teams/{teamId}/projects/{projectId}/jobs/manual`

## Request

- Base URL: `https://placeholder/v1`
- URL: `https://placeholder/v1/v1/teams/{teamId}/projects/{projectId}/jobs/manual`
- Auth: none required
- TypeScript: <https://skmtc.dev/northflank/apis/northflank-api/docs/v1/teams/:teamId/projects/:projectId/jobs/manual/post.ts> (a function with typed inputs; its response is checked against the schema)

> **Deprecated.**

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

## Path parameters

- `teamId` string, required
- `projectId` string, required: ID of the project

## Request body

- object
  - `name` string, required: The name of the job.
  - `description` string: A description of the job.
  - `stageId` string
  - `infrastructure` object
    - `architecture` 'x86' | 'arm'
  - `tags` string[]: An array of previously defined tags to help identify and group the resource.
  - `billing` object, required
    - `buildPlan` string: The ID of the build plan to use.
    - `deploymentPlan` string, required: The ID of the deployment plan to use.
    - `gpu` object
      - `enabled` boolean: Whether GPUs are enabled for this workload.
      - `configuration` object
        - `gpuType` string, required: The type of GPU to use.
        - `gpuCount` integer: The number of GPUs to allocate.
        - `timesliced` boolean: Whether GPU timeslicing is enabled.
  - `deployment` union: Where to deploy the job from.
    - object: Deploy from version control
      - `buildpack` object: Allows for customization of buildpack runtime
        - `configType` 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand', required: Type of buildpack run configuration
        - `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` 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand', required: Type of entrypoint & command override configuration
        - `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
        - `useHdbStorage` boolean
        - `usePdSsdStorage` boolean
        - `ephemeralStorage` object
          - `storageSize` integer: Ephemeral storage per container in MB
        - `shmSize` integer: Configures the amount of available memory-backed disk space available to /dev/shm
      - `gpu` object
        - `enabled` boolean: Whether GPUs are enabled for this workload.
        - `configuration` object
          - `gpuType` string, required: The type of GPU to use.
          - `gpuCount` integer: The number of GPUs to allocate.
          - `timesliced` boolean: Whether GPU timeslicing is enabled.
      - `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. Maximum 1800 seconds for PaaS projects and 86400 seconds for BYOC projects.
      - `metadata` object: Allow setting custom labels and annotations for workloads.
        - `labels` object: Specify custom labels for the workload.
        - `annotations` object: Specify custom annotations for the workload as string or object.
      - `vcs` object, required
        - `projectUrl` string, required: URL of the Git repo to build.
        - `projectType` 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure' | 'origin', required: The VCS provider to use.
        - `selfHostedVcsId` string: If projectType is self-hosted, the ID of the self-hosted vcs to use.
        - `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.
        - `projectBranch` string, required: The name of the branch to use.
    - object: Deploy from an external image
      - `buildpack` object: Allows for customization of buildpack runtime
        - `configType` 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand', required: Type of buildpack run configuration
        - `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` 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand', required: Type of entrypoint & command override configuration
        - `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
        - `useHdbStorage` boolean
        - `usePdSsdStorage` boolean
        - `ephemeralStorage` object
          - `storageSize` integer: Ephemeral storage per container in MB
        - `shmSize` integer: Configures the amount of available memory-backed disk space available to /dev/shm
      - `gpu` object
        - `enabled` boolean: Whether GPUs are enabled for this workload.
        - `configuration` object
          - `gpuType` string, required: The type of GPU to use.
          - `gpuCount` integer: The number of GPUs to allocate.
          - `timesliced` boolean: Whether GPU timeslicing is enabled.
      - `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. Maximum 1800 seconds for PaaS projects and 86400 seconds for BYOC projects.
      - `metadata` object: Allow setting custom labels and annotations for workloads.
        - `labels` object: Specify custom labels for the workload.
        - `annotations` object: Specify custom annotations for the workload as string or object.
      - `external` object, required
        - `imagePath` string, required: Image to be deployed. When not deploying from Dockerhub the URL must be specified.
        - `credentials` string: ID of the saved credentials to use to access this external image.
    - object: Deploy from a Northflank build service
      - `buildpack` object: Allows for customization of buildpack runtime
        - `configType` 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand', required: Type of buildpack run configuration
        - `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` 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand', required: Type of entrypoint & command override configuration
        - `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
        - `useHdbStorage` boolean
        - `usePdSsdStorage` boolean
        - `ephemeralStorage` object
          - `storageSize` integer: Ephemeral storage per container in MB
        - `shmSize` integer: Configures the amount of available memory-backed disk space available to /dev/shm
      - `gpu` object
        - `enabled` boolean: Whether GPUs are enabled for this workload.
        - `configuration` object
          - `gpuType` string, required: The type of GPU to use.
          - `gpuCount` integer: The number of GPUs to allocate.
          - `timesliced` boolean: Whether GPU timeslicing is enabled.
      - `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. Maximum 1800 seconds for PaaS projects and 86400 seconds for BYOC projects.
      - `metadata` object: Allow setting custom labels and annotations for workloads.
        - `labels` object: Specify custom labels for the workload.
        - `annotations` object: Specify custom annotations for the workload as string or object.
      - `internal` object, required
        - `id` union: ID of the build service to deploy
          - string: The ID of a build service in the same project
          - string: The ID of a build service in another project, in the format `project-id/build-service-id`
        - `branch` string: Branch to deploy
        - `buildSHA` union: Commit SHA to deploy, or 'latest' to deploy the most recent commit
          - string: A commit sha.
          - 'latest': Latest commit.
        - `buildId` string: ID of the build that should be deployed
    - object: Deploy from a project image
      - `buildpack` object: Allows for customization of buildpack runtime
        - `configType` 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand', required: Type of buildpack run configuration
        - `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` 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand', required: Type of entrypoint & command override configuration
        - `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
        - `useHdbStorage` boolean
        - `usePdSsdStorage` boolean
        - `ephemeralStorage` object
          - `storageSize` integer: Ephemeral storage per container in MB
        - `shmSize` integer: Configures the amount of available memory-backed disk space available to /dev/shm
      - `gpu` object
        - `enabled` boolean: Whether GPUs are enabled for this workload.
        - `configuration` object
          - `gpuType` string, required: The type of GPU to use.
          - `gpuCount` integer: The number of GPUs to allocate.
          - `timesliced` boolean: Whether GPU timeslicing is enabled.
      - `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. Maximum 1800 seconds for PaaS projects and 86400 seconds for BYOC projects.
      - `metadata` object: Allow setting custom labels and annotations for workloads.
        - `labels` object: Specify custom labels for the workload.
        - `annotations` object: Specify custom annotations for the workload as string or object.
      - `image` object, required
        - `projectId` string
        - `name` string, required
        - `group` string
        - `tag` string, required
    - object: Choose later
  - `disabledCI` boolean: Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
  - `buildConfiguration` object
    - `pathIgnoreRules` string[]: 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.
    - `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` string[]: 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]"]`
    - `ignoreEmptyCommits` boolean: If `true`, commits that do not modify any files will not trigger a build. Defaults to `false`, meaning empty commits build regardless of other build rules.
    - `dockerfileTarget` string: If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
    - `dockerCredentials` string[]
    - `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.
    - `enableGitLfs` boolean: Enable Git LFS support for the build
    - `storage` object
      - `ephemeralStorage` object
        - `storageSize` 16384 | 32768 | 65536 | 131072 | 262144 | 524288: Ephemeral storage per build in MB
  - `buildSettings` union: Build engine
    - object: Build from a Dockerfile
      - `storage` object
        - `ephemeralStorage` object
          - `storageSize` 16384 | 32768 | 65536 | 131072 | 262144 | 524288: Ephemeral storage per build in MB
      - `dockerfile` object, required
        - `useCache` boolean: DEPRECATED: This field will be removed in the near future and currently has no effect.
        - `buildEngine` 'buildkit' | 'kaniko': Build engine to use. Defaults to recommended build engine `buildkit`
        - `dockerFilePath` string, required: The file path of the Dockerfile.
        - `dockerWorkDir` string, required: The working directory of the Dockerfile.
        - `dockerfileContents` string, nullable: Plain UTF-8 Dockerfile contents. Ordinary API and immediate-build values are literal. In template contexts only `${args.*}` and `${refs.*}` are resolved; native Docker `${...}` syntax is preserved. Sensitive values must use Docker secret mounts rather than template expressions or sensitive arguments or references.
        - `buildkit` object
          - `useCache` boolean: Use persistent storage to cache build layers.
          - `cacheStorageSize` integer: The amount of persistent storage available to each build in MB.
    - object: Build from a Buildpack
      - `storage` object
        - `ephemeralStorage` object
          - `storageSize` 16384 | 32768 | 65536 | 131072 | 262144 | 524288: Ephemeral storage per build in MB
      - `buildpack` object, required
        - `builder` 'HEROKU_26' | 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_RESOLUTE' | 'PAKETO_NOBLE' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL': Buildpack stack to use. Defaults to recommended stack `HEROKU_26`.
        - `buildpackLocators` string[]: Array of custom Buildpacks to use.
        - `buildContext` string: The working directory to build in.
        - `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
  - `dockerSecretMounts` object: Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier
  - `healthChecks` object[]: An array of health checks.
    - `protocol` 'HTTP' | 'CMD' | 'TCP', required: The protocol to access the health check with.
    - `type` 'livenessProbe' | 'readinessProbe' | 'startupProbe', required: The type of health check.
    - `path` string: The path of the health check endpoint. Required when protocol is HTTP.
    - `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.
    - `initialDelaySeconds` integer, required: Initial delay, in seconds, before the health check is first run.
    - `periodSeconds` integer, required: The time between each check, in seconds.
    - `timeoutSeconds` integer, required: The time to wait for a response before marking the health check as a failure.
    - `failureThreshold` integer, required: The maximum number of allowed failures.
    - `successThreshold` integer: The number of successes required to mark the health check as a success.
  - `backoffLimit` integer, required: The number of attempts to rerun a job before it is marked as failed.
  - `runOnSourceChange` 'never' | 'cd-promote' | 'always': Configure when the job should be run if the source image changes.
  - `activeDeadlineSeconds` integer, nullable: The maximum amount of time, in seconds, for a job to run before it is marked as failed.

## Response `200`

Details about the newly created job.

---

[API](https://skmtc.dev/northflank/apis/northflank-api.md) - [All operations](https://skmtc.dev/northflank/apis/northflank-api/llms.txt) - [OpenAPI document](https://skmtc.dev/northflank/apis/northflank-api/revisions/6511db980148?raw)
