{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/posit/main/json-schema/posit-update-content-input-schema.json", "title": "UpdateContentInput", "description": "The content fields that can be specified when updating a content item.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/posit-content-api-openapi.yml#/components/schemas/UpdateContentInput", "additionalProperties": false, "properties": { "name": { "description": "A simple identifier. Allows alpha-numeric\ncharacters, periods (`\".\"`), hyphens (`\"-\"`), and underscores (`\"_\"`).", "type": "string" }, "title": { "description": "The title of this content.", "type": [ "string", "null" ] }, "description": { "description": "A rich description of this content.", "type": "string" }, "owner_guid": { "description": "The unique identifier of the user who owns this content item.\nCan only be changed by an administrator.", "format": "uuid", "type": [ "string", "null" ] }, "access_type": { "description": "Access type describes how this content manages its viewers. The\nvalue `all` is the most permissive; any visitor to Posit Connect\nwill be able to view this content. The value `logged_in` indicates\nthat all Posit Connect accounts may view the content. The `acl`\nvalue lets specifically enumerated users and groups view the\ncontent. Users configured as collaborators may always view content.\n\nAccess types may be restricted by the Connect configuration or the\nproduct license.", "enum": [ "all", "logged_in", "acl" ], "type": "string" }, "locked": { "description": "Whether or not the content is locked.", "type": [ "boolean", "null" ] }, "locked_message": { "description": "A custom message that is displayed by the content item when locked.\nIt is possible to format this message using Markdown.", "type": [ "string", "null" ] }, "connection_timeout": { "description": "Maximum number of seconds allowed without data sent or received\nacross a client connection. A value of `0` means connections will\nnever time-out (not recommended). When `null`, the default\n[`Scheduler.ConnectionTimeout`](../admin/appendix/configuration/index.md#Scheduler.ConnectionTimeout) is used. Applies only to content types\nthat are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "read_timeout": { "description": "Maximum number of seconds allowed without data received from a\nclient connection. A value of `0` means a lack of client (browser)\ninteraction never causes the connection to close. When `null`, the\ndefault [`Scheduler.ReadTimeout`](../admin/appendix/configuration/index.md#Scheduler.ReadTimeout) is used. Applies only to content\ntypes that are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "init_timeout": { "description": "The maximum number of seconds allowed for an interactive application\nto start. Posit Connect must be able to connect to a newly\nlaunched application before this threshold has\nelapsed. When `null`, the default [`Scheduler.InitTimeout`](../admin/appendix/configuration/index.md#Scheduler.InitTimeout) is used.\nApplies only to content types that are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "idle_timeout": { "description": "The maximum number of seconds a worker process for an interactive\napplication to remain alive after it goes idle (no active\nconnections). When `null`, the default [`Scheduler.IdleTimeout`](../admin/appendix/configuration/index.md#Scheduler.IdleTimeout) is\nused. Applies only to content types that are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "max_processes": { "description": "Specifies the total number of concurrent processes allowed for a\nsingle interactive application per Posit Connect node. When `null`,\nthe default [`Scheduler.MaxProcesses`](../admin/appendix/configuration/index.md#Scheduler.MaxProcesses) is used. Applies only to\ncontent types that are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "min_processes": { "description": "Specifies the minimum number of concurrent processes allowed for a\nsingle interactive application per Posit Connect node. When `null`,\nthe default `Scheduler.MinProcesses` is used. Applies only to\ncontent types that are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "max_conns_per_process": { "description": "Specifies the maximum number of client connections allowed to an\nindividual process. Incoming connections which will exceed this\nlimit are routed to a new process or rejected. When `null`, the\ndefault [`Scheduler.MaxConnsPerProcess`](../admin/appendix/configuration/index.md#Scheduler.MaxConnsPerProcess) is used. Applies only to\ncontent types that are executed on demand.", "format": "int32", "type": [ "integer", "null" ] }, "load_factor": { "description": "Controls how aggressively new processes are spawned. When `null`,\nthe default [`Scheduler.LoadFactor`](../admin/appendix/configuration/index.md#Scheduler.LoadFactor) is used. Applies only to content\ntypes that are executed on demand.", "format": "double", "type": [ "number", "null" ] }, "default_r_environment_management": { "description": "Indicates whether or not Connect should create and manage an R\nenvironment (installing required packages) for this content. When\n`null`, Connect makes this determination based on the server\nconfiguration.", "type": [ "boolean", "null" ] }, "default_py_environment_management": { "description": "Indicates whether or not Connect should create and manage a Python\nenvironment (installing required packages) for this content. When\n`null`, Connect makes this determination based on the server\nconfiguration.", "type": [ "boolean", "null" ] }, "run_as": { "description": "The UNIX user that executes this content. When `null`, the default\n[`Applications.RunAs`](../admin/appendix/configuration/index.md#Applications.RunAs) is used. Applies only to executable content\ntypes - not `static`.", "type": [ "string", "null" ] }, "run_as_current_user": { "description": "Indicates that Connect should run processes for this content item\nunder the Unix account of the user who visits it. Content accessed\nanonymously will continue to run as the specified `run_as` user.", "type": [ "boolean", "null" ] }, "memory_request": { "description": "The minimum amount of RAM this content needs when executing or\nrendering, expressed in bytes. When `null`, the default\n[`Scheduler.MemoryRequest`](../admin/appendix/configuration/index.md#Scheduler.MemoryRequest) is used.", "format": "int64", "type": [ "integer", "null" ] }, "memory_limit": { "description": "The maximum amount of RAM this content will be allowed to consume\nwhen executing or rendering, expressed in bytes. When `null`, the\ndefault [`Scheduler.MemoryLimit`](../admin/appendix/configuration/index.md#Scheduler.MemoryLimit) is used.", "format": "int64", "type": [ "integer", "null" ] }, "cpu_request": { "description": "The minimum amount of compute power this content needs when executing\nor rendering, expressed in CPU Units, where 1.0 unit is equivalent to\n1 physical or virtual core. Fractional values are allowed. When `null`,\nthe default [`Scheduler.CPURequest`](../admin/appendix/configuration/index.md#Scheduler.CPURequest) is used.", "format": "double", "type": [ "number", "null" ] }, "cpu_limit": { "description": "The maximum amount of compute power this content will be allowed to\nconsume when executing or rendering, expressed in CPU Units. When\n`null`, the default [`Scheduler.CPULimit`](../admin/appendix/configuration/index.md#Scheduler.CPULimit) is used.", "format": "double", "type": [ "number", "null" ] }, "amd_gpu_limit": { "description": "The number of AMD GPUs allocated to run this content. When `null`,\nthe default [`Scheduler.AMDGPULimit`](../admin/appendix/configuration/index.md#Scheduler.AMDGPULimit) is used.", "format": "int64", "type": [ "integer", "null" ] }, "nvidia_gpu_limit": { "description": "The number of NVIDIA GPUs allocated to run this content. When `null`,\nthe default [`Scheduler.NvidiaGPULimit`](../admin/appendix/configuration/index.md#Scheduler.NvidiaGPULimit) is used.", "format": "int64", "type": [ "integer", "null" ] }, "service_account_name": { "description": "The name of the Kubernetes service account used to run this content.", "type": [ "string", "null" ] }, "default_image_name": { "description": "The default container image used when none is defined by the bundle's\nmanifest.", "type": [ "string", "null" ] }, "default_environment_guid": { "description": "The default execution environment used when none is defined by the\nbundle's manifest.", "format": "uuid", "type": [ "string", "null" ] }, "metrics_collection_enabled": { "description": "Controls whether per-job resource metrics are collected for this\ncontent item. When `null`, inherits the server-wide default.", "type": [ "boolean", "null" ] }, "notify_on_share": { "description": "Controls whether email notifications are sent by default when\nusers or groups are added as collaborators or viewers.\nWhen `null`, inherits the server-wide default from\n[`Applications.NotifyOnShare`](../admin/appendix/configuration/index.md#Applications.NotifyOnShare).", "type": [ "boolean", "null" ] }, "otel_enabled": { "description": "Controls whether content telemetry is collected for this content item.", "type": [ "boolean", "null" ] }, "content_category": { "description": "The `content_category` field refines the type of content specified by\n`app_mode`. For example, the MCP content category indicates content that\nserves as an MCP server. Allowed values are `\"\"` (empty string to clear)\nor `\"mcp\"`.", "type": [ "string", "null" ] } }, "type": "object" }