---
title: "Update application"
method: PATCH
path: "/applications/{id}"
tags: ["Application"]
---

# Update application

`PATCH /applications/{id}`

Update an existing application

## Path parameters

- `id` string, required

## Query parameters

- `field_mask` string[]

## Headers

- `If-Match` string

## Request body

- Application
  - `id` string — Application ID
  - `created_time` integer — Time application created
  - `created_by_id` string — ID of user who created application
  - `last_updated_time` integer — Time application last updated
  - `last_updated_by_id` string — ID of user who last updated application
  - `organization_id` string — (Deprecated, use workspace_id)
  - `workspace_id` string — ID of workspace associated with application
  - `name` string — Application display name
  - `description` string — Application description
  - `ssl_options` SslOptions
    - `alpn_protocols` AlpnProtocol[] — ALPN protocols that should be used to communicate with this application, specified in order of preference (defaults to all)
    - `min_version` 'TLSv1' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'
    - `max_version` 'TLSv1' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'
  - `send_mabl_header` boolean — Controls whether or not the x-mabl-agent header is sent on requests (can be overridden by plan and test)
  - `execution_runner_size` 'x1' | 'x2' | 'x3' | 'x4' | 'x5' | 'x6' | 'small' | 'medium' | 'large' | 'inherit' — available runner sizes
  - `enter_text_mode` 'fill' | 'press' — Application-level preference for how the "enter text" step types into inputs. Absent means "no preference; runtime falls back to its default." - `fill`: write the value atomically via Playwright's `fill()`. Fast and reliable for standard inputs. - `press`: type one character at a time. Slower, but works with autocomplete / per-character event handlers.
  - `bypass_actionability_checks` boolean — Application-level preference for whether a click step may act on an element that fails actionability checks — disabled, hidden, covered, or unstable. Affects new click steps authored in the test editor or by the Test Creation Agent. `true` clicks the element anyway; `false` fails the step when the target is not actionable. Absent means no workspace preference. Per-step overrides set in the test editor always win.
  - `skip_javascript_fallback_clicks` boolean — Application-level preference for whether a click step skips the synthetic JavaScript fallback click that normally fires when the native browser click cannot reach the target element — for example when an overlay intercepts the click or the browser routes the input away from a cross-origin iframe. `true` fails the step with a clear error instead of clicking synthetically; `false` or absent allows the fallback (the historical behavior). Newly created applications default to `true`.
  - `custom_test_id_attributes` string[] — Custom HTML element attribute names mabl should prioritize when locating elements, in priority order

## Response `200`

Application updated

- Application
  - `id` string — Application ID
  - `created_time` integer — Time application created
  - `created_by_id` string — ID of user who created application
  - `last_updated_time` integer — Time application last updated
  - `last_updated_by_id` string — ID of user who last updated application
  - `organization_id` string — (Deprecated, use workspace_id)
  - `workspace_id` string — ID of workspace associated with application
  - `name` string — Application display name
  - `description` string — Application description
  - `ssl_options` SslOptions
    - `alpn_protocols` AlpnProtocol[] — ALPN protocols that should be used to communicate with this application, specified in order of preference (defaults to all)
    - `min_version` 'TLSv1' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'
    - `max_version` 'TLSv1' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'
  - `send_mabl_header` boolean — Controls whether or not the x-mabl-agent header is sent on requests (can be overridden by plan and test)
  - `execution_runner_size` 'x1' | 'x2' | 'x3' | 'x4' | 'x5' | 'x6' | 'small' | 'medium' | 'large' | 'inherit' — available runner sizes
  - `enter_text_mode` 'fill' | 'press' — Application-level preference for how the "enter text" step types into inputs. Absent means "no preference; runtime falls back to its default." - `fill`: write the value atomically via Playwright's `fill()`. Fast and reliable for standard inputs. - `press`: type one character at a time. Slower, but works with autocomplete / per-character event handlers.
  - `bypass_actionability_checks` boolean — Application-level preference for whether a click step may act on an element that fails actionability checks — disabled, hidden, covered, or unstable. Affects new click steps authored in the test editor or by the Test Creation Agent. `true` clicks the element anyway; `false` fails the step when the target is not actionable. Absent means no workspace preference. Per-step overrides set in the test editor always win.
  - `skip_javascript_fallback_clicks` boolean — Application-level preference for whether a click step skips the synthetic JavaScript fallback click that normally fires when the native browser click cannot reach the target element — for example when an overlay intercepts the click or the browser routes the input away from a cross-origin iframe. `true` fails the step with a clear error instead of clicking synthetically; `false` or absent allows the fallback (the historical behavior). Newly created applications default to `true`.
  - `custom_test_id_attributes` string[] — Custom HTML element attribute names mabl should prioritize when locating elements, in priority order

## Other responses

- `400` — Invalid or missing parameter
- `401` — User not authenticated
- `403` — User not authorized
- `404` — Unknown error
- `default` — Unknown error

---

[API](https://skmtc.net/mabl/apis/mabl-api.md) · [All operations](https://skmtc.net/mabl/apis/mabl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mabl/mabl-api/revisions/d0fc0114da66/schema)
