{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-app-session-schema.json", "title": "AppSession", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-apps-api-openapi.yml#/components/schemas/AppSession", "additionalProperties": false, "properties": { "app": { "allOf": [ { "$ref": "#/$defs/AppSummary" }, {} ] }, "createdAt": { "format": "date-time", "type": "string" }, "id": { "type": "string" }, "messages": { "description": "An array of `SessionMessage` describing the current session state.\n", "items": { "$ref": "#/$defs/AppSessionMessage" }, "type": [ "array", "null" ] }, "modifiedAt": { "format": "date-time", "type": "string" }, "name": { "description": "A brief description of the app's actions for users. Length must be between 3-100 chars. It becomes immutable once a value is set.", "maxLength": 100, "minLength": 3, "type": "string" }, "status": { "$ref": "#/$defs/AppSessionStatus" }, "timeoutSeconds": { "description": "Timeout in seconds, a value between 1 second and 30 days. Once set, it can only be increased, not decreased.\n", "maximum": 2592000, "minimum": 1, "type": "integer" } }, "type": "object", "$defs": { "AppSessionMessage": { "allOf": [ { "$ref": "#/$defs/AppSessionMessageCreate" } ], "type": "object" }, "AppSessionMessageCreate": { "additionalProperties": false, "properties": { "content": { "description": "A message string, to be rendered as plain text with Benchling chips. References to Benchling items (up to 10 per msg) will be rendered as chips in the Benchling UX. A valid reference is a Benchling API id, prefixed with \"id:\" and contained by braces. For example: \"{id:ent_a0SApq3}.\"", "maxLength": 200, "minLength": 3, "type": "string" }, "style": { "$ref": "#/$defs/AppSessionMessageStyle" } }, "required": [ "content" ], "type": "object" }, "AppSessionMessageStyle": { "default": "NONE", "enum": [ "ERROR", "INFO", "NONE", "SUCCESS", "WARNING" ], "type": "string" }, "AppSessionStatus": { "description": "All possible values of a Session's status, including system-updated and user-updated values.\n", "enum": [ "COMPLETED_WITH_WARNINGS", "FAILED", "RUNNING", "SUCCEEDED", "TIMEOUT" ], "type": "string" }, "AppSummary": { "properties": { "id": { "description": "The id of the Benchling app.", "type": "string" } }, "type": "object" } } }