Skip to main content
PATCH
/
applications
/
{id}
/
processes
/
{process_id}
Update process
curl --request PATCH \
  --url https://api.sevalla.com/v3/applications/{id}/processes/{process_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "display_name": "web",
  "entrypoint": "npm start",
  "resource_type_id": "fb5e5168-4281-4bec-94c5-0d1584e9e657",
  "scaling_strategy": {
    "type": "manual",
    "config": {
      "instanceCount": 1
    }
  },
  "port": 8080,
  "is_ingress_enabled": true,
  "ingress_protocol": "http",
  "schedule": "0 */6 * * *",
  "time_zone": "America/New_York",
  "job_start_policy": "beforeDeployment",
  "liveness_probe": {
    "exec": {
      "command": [
        "<string>"
      ]
    },
    "httpGet": {
      "path": "/health",
      "port": 8080,
      "host": "<string>",
      "scheme": "HTTP",
      "httpHeaders": [
        {
          "name": "X-Custom-Header",
          "value": "custom-value"
        }
      ]
    },
    "tcpSocket": {
      "port": 8080,
      "host": "<string>"
    },
    "initialDelaySeconds": 0,
    "periodSeconds": 10,
    "timeoutSeconds": 120,
    "successThreshold": 1,
    "failureThreshold": 3
  },
  "readiness_probe": {
    "exec": {
      "command": [
        "<string>"
      ]
    },
    "httpGet": {
      "path": "/health",
      "port": 8080,
      "host": "<string>",
      "scheme": "HTTP",
      "httpHeaders": [
        {
          "name": "X-Custom-Header",
          "value": "custom-value"
        }
      ]
    },
    "tcpSocket": {
      "port": 8080,
      "host": "<string>"
    },
    "initialDelaySeconds": 0,
    "periodSeconds": 10,
    "timeoutSeconds": 120,
    "successThreshold": 1,
    "failureThreshold": 3
  }
}
'
{
  "id": "fb5e5168-4281-4bec-94c5-0d1584e9e657",
  "app_id": "fb5e5168-4281-4bec-94c5-0d1584e9e657",
  "key": "web",
  "type": "web",
  "display_name": "Web Process",
  "entrypoint": "npm start",
  "port": 8080,
  "is_ingress_enabled": true,
  "ingress_protocol": "http",
  "scaling_strategy": {
    "type": "manual",
    "config": {
      "instanceCount": 1
    }
  },
  "resource_type_id": "fb5e5168-4281-4bec-94c5-0d1584e9e657",
  "resource_type_name": "s1",
  "cpu_limit": 500,
  "memory_limit": 512,
  "schedule": "0 * * * *",
  "time_zone": "America/New_York",
  "job_start_policy": "afterSuccessDeployment",
  "liveness_probe": {
    "httpGet": {
      "path": "/health",
      "port": 8080,
      "scheme": "HTTP"
    }
  },
  "readiness_probe": {
    "httpGet": {
      "path": "/ready",
      "port": 8080,
      "scheme": "HTTP"
    }
  },
  "internal_hostname": "my-app-web.my-app-abc123.svc.cluster.local",
  "created_at": "2025-01-30T00:00:00.000Z",
  "updated_at": "2025-01-30T00:00:00.000Z"
}

Authorizations

Authorization
string
header
required

API key authentication. Pass your API key as a Bearer token in the Authorization header.

Path Parameters

id
string<uuid>
required

Application identifier

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Example:

"fb5e5168-4281-4bec-94c5-0d1584e9e657"

process_id
string<uuid>
required

Process identifier

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Example:

"fb5e5168-4281-4bec-94c5-0d1584e9e657"

Body

application/json
display_name
string

Human-readable name for the process shown in the dashboard

Required string length: 1 - 255
Example:

"web"

entrypoint
string

Command used to start the process

Maximum string length: 1024
Example:

"npm start"

resource_type_id
string

Identifier of the process resource type (machine size) to assign. Use the List Process Resource Types endpoint to retrieve available options.

Example:

"fb5e5168-4281-4bec-94c5-0d1584e9e657"

scaling_strategy
object

Scaling configuration for the process

port
integer

Port number the process listens on for incoming connections

Required range: 1 <= x <= 65535
Example:

8080

is_ingress_enabled
boolean

Whether external traffic routing is enabled for this process. Only applicable to web processes.

Example:

true

ingress_protocol
enum<string>

Ingress protocol for the process. http - standard HTTP/HTTPS traffic. grpc - gRPC protocol. Only applicable to web processes. The change is applied asynchronously by syncing the ingress configuration.

Available options:
http,
grpc
Example:

"http"

schedule
string

Cron expression defining the execution schedule. Only applicable to cron processes.

Maximum string length: 100
Example:

"0 */6 * * *"

time_zone
string

IANA time zone for the cron schedule. Only applicable to cron processes.

Maximum string length: 100
Example:

"America/New_York"

job_start_policy
enum<string>

When the job process should run relative to deployments. beforeDeployment - run before the deployment starts. afterSuccessDeployment - run after a successful deployment. afterFailedDeployment - run after a failed deployment. Only applicable to job processes.

Available options:
beforeDeployment,
afterSuccessDeployment,
afterFailedDeployment
Example:

"beforeDeployment"

liveness_probe
object

Kubernetes liveness probe configuration. Only applicable to web processes.

readiness_probe
object

Kubernetes readiness probe configuration. Only applicable to web processes.

Response

Default Response

id
string<uuid>
required

Unique identifier for the process

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Example:

"fb5e5168-4281-4bec-94c5-0d1584e9e657"

app_id
string<uuid> | null
required

Identifier of the application this process belongs to

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Example:

"fb5e5168-4281-4bec-94c5-0d1584e9e657"

key
string
required

Unique key identifying the process within the application, derived from the Procfile entry name

Required string length: 1 - 64
Example:

"web"

type
enum<string> | null
required

Process runtime type. web - HTTP server process that handles incoming web traffic. worker - background process that runs continuously. cron - scheduled process that runs at specified intervals. job - one-time process that runs to completion and then stops.

Available options:
web,
worker,
cron,
job
Example:

"web"

display_name
string | null
required

Human-readable name for the process shown in the dashboard

Required string length: 1 - 255
Example:

"Web Process"

entrypoint
string
required

Command used to start the process

Maximum string length: 1024
Example:

"npm start"

port
integer | null
required

Port number the process listens on for incoming connections

Required range: 1 <= x <= 65535
Example:

8080

is_ingress_enabled
boolean
required

Whether external traffic routing is enabled for this process. Only applicable to web processes.

Example:

true

ingress_protocol
enum<string> | null
required

Protocol used for ingress traffic. http - standard HTTP/HTTPS traffic. grpc - gRPC protocol. Only applicable to web processes.

Available options:
http,
grpc
Example:

"http"

scaling_strategy
object
required

Scaling configuration for the process

Example:
{
"type": "manual",
"config": { "instanceCount": 1 }
}
resource_type_id
string<uuid> | null
required

Identifier of the process resource type (machine size) assigned to this process. Use the List Process Resource Types endpoint to retrieve available options.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Example:

"fb5e5168-4281-4bec-94c5-0d1584e9e657"

resource_type_name
string | null
required

Name of the resource type (machine size) assigned to this process

Example:

"s1"

cpu_limit
integer | null
required

Maximum CPU allocation in millicores

Required range: 1 <= x <= 9007199254740991
Example:

500

memory_limit
integer | null
required

Maximum memory allocation in megabytes

Required range: 1 <= x <= 9007199254740991
Example:

512

schedule
string | null
required

Cron expression defining the execution schedule. Only applicable to cron processes.

Maximum string length: 100
Example:

"0 * * * *"

time_zone
string | null
required

IANA time zone for the cron schedule. Only applicable to cron processes.

Maximum string length: 100
Example:

"America/New_York"

job_start_policy
enum<string> | null
required

When the job process should run relative to deployments. beforeDeployment - run before the deployment starts. afterSuccessDeployment - run after a successful deployment. afterFailedDeployment - run after a failed deployment. Only applicable to job processes.

Available options:
beforeDeployment,
afterSuccessDeployment,
afterFailedDeployment
Example:

"afterSuccessDeployment"

liveness_probe
object
required

Kubernetes liveness probe configuration. Used to detect when a process is stuck and needs to be restarted. Only populated for web processes.

Example:
{
"httpGet": {
"path": "/health",
"port": 8080,
"scheme": "HTTP"
}
}
readiness_probe
object
required

Kubernetes readiness probe configuration. Used to determine when a process is ready to receive traffic. Only populated for web processes.

Example:
{
"httpGet": {
"path": "/ready",
"port": 8080,
"scheme": "HTTP"
}
}
internal_hostname
string | null
required

Internal Kubernetes DNS hostname for service-to-service communication within the cluster

Example:

"my-app-web.my-app-abc123.svc.cluster.local"

created_at
string<date-time>
required

Timestamp when the process was created, in ISO 8601 format

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Example:

"2025-01-30T00:00:00.000Z"

updated_at
string<date-time>
required

Timestamp when the process was last modified, in ISO 8601 format

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Example:

"2025-01-30T00:00:00.000Z"