---
title: "Batch update AppSession"
method: PATCH
path: "/api/v3/app-session:batch-update"
tags: ["App Session"]
---

# Batch update AppSession

`PATCH /api/v3/app-session:batch-update`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/app-session:batch-update`
- Auth: HTTP bearer

Batch update AppSession synchronously in one transaction. Maximum 25 items per request.

## Headers

- `EARLY-ACCESS` string

## Request body

- object
  - `items` UpdateAppSessionInputWithPathParams[], required
    - `id` string, required
    - `messages` AppSessionMessageInput[]: Replace the current messages with this list. If omitted, the existing messages are carried forward unchanged.
      - `content` string, required
      - `style` 'NONE' | 'INFO' | 'WARNING' | 'SUCCESS' | 'ERROR': Visual style for this message. Defaults to NONE if omitted.
    - `status` 'SUCCEEDED' | 'FAILED' | 'COMPLETED_WITH_WARNINGS': Transition the session to a terminal status (SUCCEEDED, FAILED, or COMPLETED_WITH_WARNINGS).
    - `timeoutSeconds` integer: New timeout in seconds. Must be greater than or equal to the current timeout.

## Response `200`

OK

- AppSessionBatchupdateResponse200
  - `items` AppSession[], required
    - `__typename` string
    - `app` IAppInstallationRef
      - `__typename` string
      - `id` string, api_id
    - `createdAt` string, datetime
    - `id` string
    - `messages` AppSessionMessage[]: The messages currently displayed to the user, from the most recent session version.
      - `__typename` string
      - `content` string: The text body of the message, which may contain chip references like `{id:ent_abc123}`.
      - `style` 'NONE' | 'INFO' | 'WARNING' | 'SUCCESS' | 'ERROR': The visual style applied to this message.
    - `modifiedAt` string, datetime
    - `name` string
    - `status` 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'COMPLETED_WITH_WARNINGS' | 'TIMEOUT': The current lifecycle status of this session, derived from the most recent version.
    - `timeoutSeconds` integer: Maximum duration in seconds before the session times out automatically. Once the session's age exceeds this value and the session has not been finalized, its status becomes TIMEOUT.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

---

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