Update API specifications with fern api update (#6557)

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Shuchang Zheng 2026-06-13 08:26:18 -07:00 committed by GitHub
parent 43e0fdf7b4
commit 9b3f73eb45
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -106,7 +106,7 @@
"/v1/run/agents": {
"post": {
"tags": [
"Agents"
"Runs"
],
"summary": "Run an agent",
"description": "Run an agent",
@ -228,7 +228,7 @@
"/v1/runs/{run_id}": {
"get": {
"tags": [
"Agents"
"Runs"
],
"summary": "Get run info by id",
"description": "Get run information (task run, workflow run)",
@ -334,7 +334,7 @@
"/v1/runs/{run_id}/cancel": {
"post": {
"tags": [
"Agents"
"Runs"
],
"summary": "Cancel a run by id",
"description": "Cancel a run (task or workflow)",
@ -410,7 +410,7 @@
"/v1/runs/cancel": {
"post": {
"tags": [
"Agents"
"Runs"
],
"summary": "Bulk cancel runs",
"description": "Cancel multiple runs (tasks or workflows) in a single request",
@ -726,14 +726,16 @@
"type": "null"
}
],
"description": "Filter by tags as `key:value` pairs. Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct keys, OR within a key (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). Matches current tag values only. Not supported with `template=true`.",
"description": "Filter by tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only. Not supported with `template=true`.",
"examples": [
"env:prod",
"production",
"env:*",
"customer:acme,env:prod"
],
"title": "Tags"
},
"description": "Filter by tags as `key:value` pairs. Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct keys, OR within a key (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). Matches current tag values only. Not supported with `template=true`."
"description": "Filter by tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only. Not supported with `template=true`."
},
{
"name": "template",
@ -977,7 +979,7 @@
"/v1/folders": {
"post": {
"tags": [
"Agent Folders"
"Folders"
],
"summary": "Create folder",
"description": "Create a new folder to organize workflows",
@ -1041,7 +1043,7 @@
},
"get": {
"tags": [
"Agent Folders"
"Folders"
],
"summary": "Get folders",
"description": "Get all folders for the organization",
@ -1143,7 +1145,7 @@
"/v1/folders/{folder_id}": {
"get": {
"tags": [
"Agent Folders"
"Folders"
],
"summary": "Get folder",
"description": "Get a specific folder by ID",
@ -1211,7 +1213,7 @@
},
"put": {
"tags": [
"Agent Folders"
"Folders"
],
"summary": "Update folder",
"description": "Update a folder's title or description",
@ -1289,7 +1291,7 @@
},
"delete": {
"tags": [
"Agent Folders"
"Folders"
],
"summary": "Delete folder",
"description": "Delete a folder. Optionally delete all workflows in the folder.",
@ -1373,7 +1375,7 @@
"/v1/tag-keys": {
"get": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "List tag keys",
"description": "List all tag keys registered for the organization with their descriptions.",
@ -1430,7 +1432,7 @@
"/v1/tag-keys/{key}": {
"patch": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Update tag key",
"description": "Update the description for a tag key.",
@ -1498,7 +1500,7 @@
},
"delete": {
"tags": [
"Workflow Tags"
"Tags"
],
"summary": "Delete tag key",
"description": "Delete a tag key from the organization registry and remove that tag from every workflow that currently has it (cascade). Returns how many workflows the tag was removed from.",
@ -1550,7 +1552,7 @@
"/v1/workflow-tags": {
"get": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Batch get agent tags",
"description": "Batch fetch current tags for many workflows. Avoids N+1 on the workflows-list page.",
@ -1626,7 +1628,7 @@
},
"post": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Batch get agent tags (POST)",
"description": "Batch fetch current tags for many workflows (POST variant for id lists exceeding URL length).",
@ -1833,7 +1835,7 @@
"/v1/runs/{run_id}/retry_webhook": {
"post": {
"tags": [
"Agents"
"Runs"
],
"summary": "Replay a run webhook",
"description": "Retry sending the webhook for a run",
@ -1932,7 +1934,7 @@
"/v1/runs/{run_id}/timeline": {
"get": {
"tags": [
"Agents"
"Runs"
],
"summary": "Get run timeline",
"description": "Get timeline for a run (workflow run or task_v2 run)",
@ -2024,7 +2026,7 @@
"/v1/version": {
"get": {
"tags": [
"server"
"Server"
],
"summary": "Get server version",
"description": "Returns the current Skyvern server version (git SHA for official builds).",
@ -2044,7 +2046,8 @@
}
}
}
}
},
"x-fern-sdk-method-name": "get_version"
}
},
"/v1/runs": {
@ -2728,7 +2731,8 @@
"schema": {
"$ref": "#/components/schemas/CreateBrowserSessionRequest",
"default": {
"timeout": 60
"timeout": 60,
"generate_browser_profile": false
}
}
}
@ -2934,6 +2938,90 @@
}
},
"/v1/browser_sessions/{browser_session_id}": {
"patch": {
"tags": [
"Browser Sessions"
],
"summary": "Update a session",
"description": "Update a live browser session. Currently supports toggling generate_browser_profile, which is read when the session ends to decide whether to save its browser profile.",
"operationId": "update_browser_session_v1_browser_sessions__browser_session_id__patch",
"parameters": [
{
"name": "browser_session_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The ID of the browser session. browser_session_id starts with `pbs_`",
"examples": [
"pbs_123456"
],
"title": "Browser Session Id"
},
"description": "The ID of the browser session. browser_session_id starts with `pbs_`"
},
{
"name": "x-api-key",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.",
"title": "X-Api-Key"
},
"description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateBrowserSessionRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successfully updated browser session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrowserSessionResponse"
}
}
}
},
"403": {
"description": "Unauthorized - Invalid or missing authentication"
},
"404": {
"description": "Browser session not found"
},
"409": {
"description": "Conflict - browser session has already ended and can no longer be updated"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-fern-sdk-method-name": "update_browser_session"
},
"get": {
"tags": [
"Browser Sessions"
@ -4373,7 +4461,7 @@
"/v1/agents/{workflow_permanent_id}/folder": {
"put": {
"tags": [
"Agent Folders"
"Folders"
],
"summary": "Update agent folder",
"description": "Update a workflow's folder assignment for the latest version",
@ -4456,7 +4544,7 @@
"/v1/agents/{workflow_permanent_id}/tags": {
"post": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Apply agent tags",
"description": "Atomically apply tag changes to a workflow. Sets and deletes happen in one transaction; same-key collisions resolve set-wins.",
@ -4509,7 +4597,7 @@
},
"get": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Get agent tags",
"description": "Get the current tag state for a workflow.",
@ -4579,7 +4667,7 @@
"/v1/agents/{workflow_permanent_id}/tags/{key}": {
"delete": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Delete agent tag",
"description": "Soft-delete a single tag from a workflow. Writes a DELETE event row.",
@ -4645,7 +4733,7 @@
"/v1/agents/{workflow_permanent_id}/tags/history": {
"get": {
"tags": [
"Agent Tags"
"Tags"
],
"summary": "Get agent tag history",
"description": "Chronological tag-event log for a workflow (newest first). Includes SET and DELETE events.",
@ -4766,7 +4854,7 @@
"/v1/agents/runs/{workflow_run_id}/retry": {
"post": {
"tags": [
"Agents"
"Runs"
],
"summary": "Retry a run",
"description": "Retry a workflow run using the original run parameters.",
@ -4871,7 +4959,7 @@
"/v1/agents/runs": {
"get": {
"tags": [
"Agents"
"Runs"
],
"summary": "Get all runs",
"description": "List workflow runs across all workflows for the current organization.\n\nResults are paginated and can be filtered by **status**, **search_key**, and **error_code**. All filters are combined with **AND** logic — a run must match every supplied filter to be returned.\n\n### search_key\n\nA case-insensitive substring search that matches against **any** of the following fields:\n\n| Searched field | Description |\n|---|---|\n| `workflow_run_id` | The unique run identifier (e.g. `wr_123…`) |\n| Parameter **key** | The `key` of any workflow parameter definition associated with the run |\n| Parameter **description** | The `description` of any workflow parameter definition |\n| Run parameter **value** | The actual value supplied for any parameter when the run was created |\n| `extra_http_headers` | Extra HTTP headers attached to the run (searched as raw JSON text) |\n\nSoft-deleted parameter definitions are excluded from key/description matching. A run is returned if **any** of the fields above contain the search term.\n\n### error_code\n\nAn **exact-match** filter against the `error_code` field inside each task's `errors` JSON array. A run matches if **any** of its tasks contains an error object with a matching `error_code` value. Error codes are user-defined strings set during workflow execution (e.g. `INVALID_CREDENTIALS`, `LOGIN_FAILED`, `CAPTCHA_DETECTED`).\n\n### Combining filters\n\nAll query parameters use AND logic:\n- `?status=failed` — only failed runs\n- `?status=failed&error_code=LOGIN_FAILED` — failed runs **and** have a LOGIN_FAILED error\n- `?status=failed&error_code=LOGIN_FAILED&search_key=prod_credential` — all three conditions must match",
@ -5023,7 +5111,7 @@
"/v1/agents/{workflow_id}/runs": {
"get": {
"tags": [
"Agents"
"Runs"
],
"summary": "Get all runs by agent",
"description": "List runs for a specific workflow.\n\nSupports filtering by **status**, **search_key**, and **error_code**. All filters are combined with **AND** logic.\n\n### search_key\n\nCase-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, and extra HTTP headers. Soft-deleted parameter definitions are excluded.\n\n### error_code\n\nExact-match filter on the `error_code` field inside each task's `errors` JSON array. A run matches if any of its tasks contains an error with a matching `error_code`.",
@ -7035,6 +7123,8 @@
"complete",
"reload_page",
"close_page",
"new_tab",
"switch_tab",
"extract",
"verification_code",
"goto_url",
@ -7246,6 +7336,7 @@
"type": "string",
"enum": [
"recording",
"audio",
"session_replay",
"browser_console_log",
"skyvern_log",
@ -8394,6 +8485,12 @@
"title": "Browser Profile Id",
"description": "ID of the browser profile loaded into this session, if any. browser_profile_id starts with `bp_`."
},
"generate_browser_profile": {
"type": "boolean",
"title": "Generate Browser Profile",
"description": "Whether this session's browser profile will be saved when it ends so it can become a reusable browser profile.",
"default": false
},
"vnc_streaming_supported": {
"type": "boolean",
"title": "Vnc Streaming Supported",
@ -9238,6 +9335,12 @@
],
"title": "Browser Profile Id",
"description": "ID of a browser profile to load into this session (restores cookies, localStorage, etc.). browser_profile_id starts with `bp_`."
},
"generate_browser_profile": {
"type": "boolean",
"title": "Generate Browser Profile",
"description": "When true, the session's browser profile (cookies, localStorage, etc.) is saved to storage when the session ends so it can be turned into a reusable browser profile. Defaults to false to avoid storing profiles for sessions that never need them. Sessions started with a browser_profile_id always persist their profile regardless of this flag.",
"default": false
}
},
"type": "object",
@ -9664,6 +9767,7 @@
"enum": [
"bitwarden",
"azure_vault",
"gcp",
"custom"
],
"title": "CredentialVaultType"
@ -14386,6 +14490,11 @@
"type": "boolean",
"title": "Include Extracted Text",
"default": true
},
"skip_saved_profile": {
"type": "boolean",
"title": "Skip Saved Profile",
"default": false
}
},
"type": "object",
@ -14575,6 +14684,11 @@
"type": "boolean",
"title": "Complete Verification",
"default": true
},
"skip_saved_profile": {
"type": "boolean",
"title": "Skip Saved Profile",
"default": false
}
},
"type": "object",
@ -17544,25 +17658,56 @@
"TagApplyRequest": {
"properties": {
"tags": {
"additionalProperties": {
"type": "string"
"items": {
"$ref": "#/components/schemas/TagInput"
},
"type": "object",
"type": "array",
"title": "Tags",
"description": "Tags to set (overwrite). Map of key to value."
"description": "Tags to set (overwrite). List of {key?, value} objects."
},
"tags_to_delete": {
"items": {
"type": "string"
"$ref": "#/components/schemas/TagDeleteInput"
},
"type": "array",
"title": "Tags To Delete",
"description": "Tag keys to soft-delete."
"description": "Tags to soft-delete. List of {key?, value?} targets."
}
},
"type": "object",
"title": "TagApplyRequest",
"description": "Body for ``POST /v1/workflows/{wpid}/tags``. Either field may be empty;\nboth empty is a valid no-op. Same-key collisions: set wins over delete."
"description": "Body for ``POST /v1/workflows/{wpid}/tags``. Either field may be empty (both\nempty is a no-op). On a same-identity collision, set wins over delete."
},
"TagDeleteInput": {
"properties": {
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"description": "Group (key) to delete. Use for grouped tags."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Value",
"description": "Label (value) to delete. Use for standalone labels."
}
},
"type": "object",
"title": "TagDeleteInput",
"description": "One tag to soft-delete: a grouped tag by its ``key``, or a standalone label\nby its ``value`` (omit the key)."
},
"TagHistoryItem": {
"properties": {
@ -17571,7 +17716,14 @@
"title": "Tag Event Id"
},
"key": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key"
},
"value": {
@ -17649,6 +17801,58 @@
],
"title": "TagHistoryResponse"
},
"TagInput": {
"properties": {
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"description": "Optional group (key). Omit for a standalone label."
},
"value": {
"type": "string",
"title": "Value",
"description": "Label (value). Always required."
}
},
"type": "object",
"required": [
"value"
],
"title": "TagInput",
"description": "One tag to set. ``value`` is the required label; ``key`` is the optional\ngroup — null for a standalone label, set for a grouped label (e.g. env:prod)."
},
"TagItem": {
"properties": {
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key"
},
"value": {
"type": "string",
"title": "Value"
}
},
"type": "object",
"required": [
"value"
],
"title": "TagItem",
"description": "A single tag (key + label) without per-tag attribution. ``key`` is null\nfor a standalone label."
},
"TagKey": {
"properties": {
"key": {
@ -17719,6 +17923,17 @@
},
"TagResponse": {
"properties": {
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key"
},
"value": {
"type": "string",
"title": "Value"
@ -17745,7 +17960,7 @@
"set_by"
],
"title": "TagResponse",
"description": "Current state of one tag (``GET /v1/workflows/{wpid}/tags`` row)."
"description": "Current state of one tag (``GET /v1/workflows/{wpid}/tags`` row).\n``key`` is null for a standalone label."
},
"TagsResponse": {
"properties": {
@ -17754,10 +17969,10 @@
"title": "Workflow Permanent Id"
},
"tags": {
"additionalProperties": {
"items": {
"$ref": "#/components/schemas/TagResponse"
},
"type": "object",
"type": "array",
"title": "Tags"
}
},
@ -17767,7 +17982,7 @@
"tags"
],
"title": "TagsResponse",
"description": "Current tag map for a workflow."
"description": "Current tags for a workflow. A list (not a key-map) so standalone labels,\nwhich have no key, are representable."
},
"TaskBlock": {
"properties": {
@ -19406,7 +19621,7 @@
"max_iterations": {
"type": "integer",
"title": "Max Iterations",
"default": 10
"default": 50
},
"max_steps": {
"type": "integer",
@ -19514,7 +19729,7 @@
"max_iterations": {
"type": "integer",
"title": "Max Iterations",
"default": 10
"default": 50
},
"max_steps": {
"type": "integer",
@ -20082,6 +20297,20 @@
"type": "object",
"title": "UpdateBrowserProfileRequest"
},
"UpdateBrowserSessionRequest": {
"properties": {
"generate_browser_profile": {
"type": "boolean",
"title": "Generate Browser Profile",
"description": "Enable or disable saving this session's browser profile when it ends. Can be toggled while the session is still alive; the value is read at session teardown."
}
},
"type": "object",
"required": [
"generate_browser_profile"
],
"title": "UpdateBrowserSessionRequest"
},
"UpdateWorkflowFolderRequest": {
"properties": {
"folder_id": {
@ -25005,10 +25234,10 @@
"properties": {
"workflow_tags": {
"additionalProperties": {
"additionalProperties": {
"type": "string"
"items": {
"$ref": "#/components/schemas/TagItem"
},
"type": "object"
"type": "array"
},
"type": "object",
"title": "Workflow Tags"
@ -25019,7 +25248,7 @@
"workflow_tags"
],
"title": "WorkflowTagsBatchResponse",
"description": "Response for the batch endpoint.\n\nWorkflows with no tags are present with an empty dict so the frontend can\ndistinguish \"fetched, none set\" from \"not fetched\" without a second call.\nWorkflows outside the caller's org are silently absent (no leakage)."
"description": "Response for the batch endpoint.\n\nWorkflows with no tags are present with an empty list so the frontend can\ndistinguish \"fetched, none set\" from \"not fetched\" without a second call.\nWorkflows outside the caller's org are silently absent (no leakage)."
},
"WorkflowTriggerBlock": {
"properties": {
@ -25332,4 +25561,4 @@
"x-fern-server-name": "Local"
}
]
}
}