{"components":{"schemas":{"AICompletionResult":{"description":"Schema for AI chat completion results.","properties":{"finish_reason":{"description":"Completion stop reason","type":"string"},"message":{"description":"Final assistant message","properties":{"content":{"description":"Message text content","type":"string"},"content_parts":{"description":"Multimodal content parts","items":{"type":"object"},"type":"array"},"resume_token":{"description":"Resume token for continuing conversations","type":"string"},"role":{"description":"Message role (system, user, assistant, tool)","type":"string"},"structured_output":{"description":"Structured output data"},"tool_calls":{"description":"Tool calls from assistant","items":{"description":"Tool call from assistant message.","properties":{"arguments":{"description":"Tool arguments","type":"object"},"id":{"description":"Tool call ID","type":"string"},"name":{"description":"Tool/function name","type":"string"},"thought_signature":{"description":"Optional thought signature","type":"string"}},"required":["arguments","id","name"],"type":"object"},"type":"array"},"tool_results":{"description":"Tool results from tool execution","items":{"description":"Tool result from tool execution.","properties":{"content":{"description":"Tool result content","type":"string"},"id":{"description":"Tool call ID this result responds to","type":"string"},"name":{"description":"Tool/function name","type":"string"},"resolution":{"description":"Structured tool resolution"}},"required":["id","name"],"type":"object"},"type":"array"}},"required":["role"],"type":"object"},"messages":{"description":"Full message history","items":{"description":"AI chat message (OpenAI-compatible format).","properties":{"content":{"description":"Message text content","type":"string"},"content_parts":{"description":"Multimodal content parts","items":{"type":"object"},"type":"array"},"resume_token":{"description":"Resume token for continuing conversations","type":"string"},"role":{"description":"Message role (system, user, assistant, tool)","type":"string"},"structured_output":{"description":"Structured output data"},"tool_calls":{"description":"Tool calls from assistant","items":{"description":"Tool call from assistant message.","properties":{"arguments":{"description":"Tool arguments","type":"object"},"id":{"description":"Tool call ID","type":"string"},"name":{"description":"Tool/function name","type":"string"},"thought_signature":{"description":"Optional thought signature","type":"string"}},"required":["arguments","id","name"],"type":"object"},"type":"array"},"tool_results":{"description":"Tool results from tool execution","items":{"description":"Tool result from tool execution.","properties":{"content":{"description":"Tool result content","type":"string"},"id":{"description":"Tool call ID this result responds to","type":"string"},"name":{"description":"Tool/function name","type":"string"},"resolution":{"description":"Structured tool resolution"}},"required":["id","name"],"type":"object"},"type":"array"}},"required":["role"],"type":"object"},"type":"array"},"token_usage":{"description":"Token usage keyed by model","type":"object"}},"required":["finish_reason","message","messages"],"type":"object"},"AIImageInput":{"description":"Schema for an input image (base64-encoded) used in image editing.","properties":{"image_data":{"description":"Base64-encoded image data","type":"string"},"image_type":{"description":"MIME type (e.g. image/png, image/jpeg)","type":"string"}},"required":["image_data","image_type"],"type":"object"},"AIImageResult":{"description":"Schema for an AI image generation result.","properties":{"aspect_ratio":{"description":"Aspect ratio (e.g. 16:9)","type":"string"},"height":{"description":"Image height in pixels","type":"integer"},"image_data":{"description":"Base64-encoded image data","type":"string"},"image_size":{"description":"Image size tier (e.g. 1K, 2K)","type":"string"},"image_type":{"description":"MIME type (e.g. image/png)","type":"string"},"image_url":{"description":"URL to the generated image","type":"string"},"model":{"description":"Model used for generation","type":"string"},"revised_prompt":{"description":"Provider-revised prompt","type":"string"},"size":{"description":"Size string (e.g. 1024x1024)","type":"string"},"usage":{"description":"Token/usage information","type":"object"},"width":{"description":"Image width in pixels","type":"integer"}},"required":["model"],"type":"object"},"AIMessage":{"description":"AI chat message (OpenAI-compatible format).","properties":{"content":{"description":"Message text content","type":"string"},"content_parts":{"description":"Multimodal content parts","items":{"type":"object"},"type":"array"},"resume_token":{"description":"Resume token for continuing conversations","type":"string"},"role":{"description":"Message role (system, user, assistant, tool)","type":"string"},"structured_output":{"description":"Structured output data"},"tool_calls":{"description":"Tool calls from assistant","items":{"description":"Tool call from assistant message.","properties":{"arguments":{"description":"Tool arguments","type":"object"},"id":{"description":"Tool call ID","type":"string"},"name":{"description":"Tool/function name","type":"string"},"thought_signature":{"description":"Optional thought signature","type":"string"}},"required":["arguments","id","name"],"type":"object"},"type":"array"},"tool_results":{"description":"Tool results from tool execution","items":{"description":"Tool result from tool execution.","properties":{"content":{"description":"Tool result content","type":"string"},"id":{"description":"Tool call ID this result responds to","type":"string"},"name":{"description":"Tool/function name","type":"string"},"resolution":{"description":"Structured tool resolution"}},"required":["id","name"],"type":"object"},"type":"array"}},"required":["role"],"type":"object"},"AIModel":{"description":"Schema for AI model information.","properties":{"id":{"description":"Model identifier","type":"string"}},"required":["id"],"type":"object"},"AITool":{"description":"OpenAI-style tool definition.","properties":{"function":{"description":"Function tool definition","properties":{"description":{"description":"Function description","type":"string"},"name":{"description":"Function name","type":"string"},"parameters":{"description":"JSON Schema for function parameters","type":"object"}},"required":["name","parameters"],"type":"object"},"type":{"description":"Tool type (function)","type":"string"}},"required":["function","type"],"type":"object"},"AIToolCall":{"description":"Tool call from assistant message.","properties":{"arguments":{"description":"Tool arguments","type":"object"},"id":{"description":"Tool call ID","type":"string"},"name":{"description":"Tool/function name","type":"string"},"thought_signature":{"description":"Optional thought signature","type":"string"}},"required":["arguments","id","name"],"type":"object"},"AIToolFunction":{"description":"OpenAI-style function tool definition.","properties":{"description":{"description":"Function description","type":"string"},"name":{"description":"Function name","type":"string"},"parameters":{"description":"JSON Schema for function parameters","type":"object"}},"required":["name","parameters"],"type":"object"},"AIToolResult":{"description":"Tool result from tool execution.","properties":{"content":{"description":"Tool result content","type":"string"},"id":{"description":"Tool call ID this result responds to","type":"string"},"name":{"description":"Tool/function name","type":"string"},"resolution":{"description":"Structured tool resolution"}},"required":["id","name"],"type":"object"},"Account":{"description":"Associated account","properties":{"alias":{"description":"Account alias","type":"string"},"email":{"description":"Account email","type":"string"},"full_name":{"description":"Full name","type":"string"},"id":{"description":"Account public ID (dva_...)","type":"string"}},"required":["email","id"],"type":"object"},"Actor":{"description":"Schema for a message actor (user or agent).\n\nActors represent the entity that sent a message.\nMaps to the actor format from MessageActorHelper.build_actor/1.","properties":{"alias":{"description":"Actor alias/handle","type":"string"},"id":{"description":"Actor ID (format: user-xxx or agent-xxx)","type":"string"},"name":{"description":"Actor display name","type":"string"},"profile_picture":{"description":"Profile picture","properties":{"file_id":{"description":"Storage file ID","type":"string"},"height":{"description":"Image height in pixels","type":"integer"},"media_id":{"description":"Media ID","type":"string"},"mime_type":{"description":"Image MIME type","type":"string"},"refresh_url":{"description":"URL to refresh signed URL","type":"string"},"url":{"description":"Image URL","type":"string"},"width":{"description":"Image width in pixels","type":"integer"}},"type":"object"}},"type":"object"},"Agent":{"description":"API schema for an agent.","properties":{"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"default_model":{"description":"Default AI model","type":"string"},"email":{"description":"Agent email","type":"string"},"id":{"description":"Agent ID (agi_...)","type":"string"},"identity":{"description":"Identity prompt","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"AgentComputer":{"description":"API schema for an agent computer.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"config":{"description":"Configuration","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"error_message":{"description":"Error message","type":"string"},"id":{"description":"Computer ID (cmp_...)","type":"string"},"last_active_at":{"description":"Last active timestamp","format":"date-time","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Computer name","type":"string"},"region":{"description":"Region","type":"string"},"sprite_url":{"description":"Sprite URL","type":"string"},"status":{"description":"Computer status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"AgentConversationHistory":{"description":"API schema for an agent conversation history session.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"last_interaction_at":{"description":"Last interaction timestamp","format":"date-time","type":"string"},"name":{"description":"Session name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"session_id":{"description":"Session ID (ach_...)","type":"string"}},"type":"object"},"AgentImpersonationManifest":{"description":"API schema for a full agent impersonation manifest.","properties":{"agent":{"description":"Agent identity and metadata","properties":{"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"default_model":{"description":"Default AI model","type":"string"},"email":{"description":"Agent email","type":"string"},"id":{"description":"Agent ID (agi_...)","type":"string"},"identity":{"description":"Identity prompt","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"skills":{"description":"Linked skills","items":{"description":"API schema for an agent impersonation skill summary.","properties":{"description":{"description":"Skill description","type":"string"},"id":{"description":"Skill config ID","type":"string"},"name":{"description":"Skill display name","type":"string"},"slug":{"description":"Skill slug","type":"string"}},"required":["id","name","slug"],"type":"object"},"type":"array"},"tools":{"description":"Active tools","items":{"description":"API schema for an agent tool.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"builtin_tool_config":{"description":"Builtin tool configuration","type":"object"},"builtin_tool_key":{"description":"Builtin tool key","type":"string"},"config_id":{"description":"Config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Tool description","type":"string"},"handler_type":{"description":"Handler type","type":"string"},"id":{"description":"Tool ID (atl_...)","type":"string"},"instruction":{"description":"Tool instruction","type":"string"},"kind":{"description":"Tool kind","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Tool name","type":"string"},"parameters":{"description":"Tool parameters","type":"object"},"parameters_config_id":{"description":"Parameters config ID","type":"string"},"status":{"description":"Tool status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["agent","skills","tools"],"type":"object"},"AgentImpersonationSkillFile":{"description":"API schema for an agent impersonation skill file entry.","properties":{"content_type":{"description":"Raw content type for the file","type":"string"},"download_url":{"description":"URL to fetch raw file contents","type":"string"},"path":{"description":"Relative path within the skill bundle","type":"string"}},"required":["download_url","path"],"type":"object"},"AgentImpersonationSkillList":{"description":"API schema for an agent impersonation skill list response.","properties":{"data":{"description":"Agent-linked skills","items":{"description":"API schema for an agent impersonation skill summary.","properties":{"description":{"description":"Skill description","type":"string"},"id":{"description":"Skill config ID","type":"string"},"name":{"description":"Skill display name","type":"string"},"slug":{"description":"Skill slug","type":"string"}},"required":["id","name","slug"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"},"AgentImpersonationSkillManifest":{"description":"API schema for an agent impersonation skill manifest.","properties":{"description":{"description":"Skill description","type":"string"},"entrypoint":{"description":"Primary file path for the skill","type":"string"},"files":{"description":"Skill files","items":{"description":"API schema for an agent impersonation skill file entry.","properties":{"content_type":{"description":"Raw content type for the file","type":"string"},"download_url":{"description":"URL to fetch raw file contents","type":"string"},"path":{"description":"Relative path within the skill bundle","type":"string"}},"required":["download_url","path"],"type":"object"},"type":"array"},"id":{"description":"Skill config ID","type":"string"},"name":{"description":"Skill display name","type":"string"},"slug":{"description":"Skill slug","type":"string"}},"required":["entrypoint","files","id","name","slug"],"type":"object"},"AgentImpersonationSkillSummary":{"description":"API schema for an agent impersonation skill summary.","properties":{"description":{"description":"Skill description","type":"string"},"id":{"description":"Skill config ID","type":"string"},"name":{"description":"Skill display name","type":"string"},"slug":{"description":"Skill slug","type":"string"}},"required":["id","name","slug"],"type":"object"},"AgentImpersonationToolList":{"description":"API schema for the resolved callable tools list response.","properties":{"data":{"description":"Resolved callable tools","items":{"description":false,"properties":{"description":{"description":"What this tool does","type":"string"},"name":{"description":"Callable tool function name","type":"string"},"parameters":{"description":"JSON Schema describing the expected input","type":"object"}},"required":["name"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"},"AgentImpersonationToolRunResult":{"description":"API schema for the result of running an agent tool via impersonation.","properties":{"duration_ms":{"description":"Execution duration in milliseconds","type":"integer"},"result":{"description":"Tool execution result","type":"object"}},"required":["duration_ms","result"],"type":"object"},"AgentRoutine":{"description":"API schema for an agent routine.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"config_id":{"description":"Config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Routine description","type":"string"},"event_config":{"description":"Event configuration","type":"object"},"event_type":{"description":"Event type","type":"string"},"handler_type":{"description":"Handler type","type":"string"},"id":{"description":"Routine ID (arn_...)","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Routine name","type":"string"},"preset_config":{"description":"Preset configuration","type":"object"},"preset_name":{"description":"Preset name","type":"string"},"schedule":{"description":"Schedule expression","type":"string"},"script":{"description":"Script content","type":"string"},"status":{"description":"Routine status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"AgentRoutineRun":{"description":"API schema for an agent routine run.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"duration_ms":{"description":"Duration in milliseconds","type":"integer"},"event_id":{"description":"Event ID","type":"string"},"id":{"description":"Run ID (arr_...)","type":"string"},"metadata":{"description":"Run metadata","type":"object"},"payload":{"description":"Event payload","type":"object"},"result":{"description":"Run result","type":"object"},"routine_id":{"description":"Routine ID","type":"string"},"status":{"description":"Run status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"AgentSchedule":{"description":"API schema for an agent schedule.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"cron_expression":{"description":"Cron expression (recurring only)","type":"string"},"id":{"description":"Schedule ID (asc_...)","type":"string"},"instructions":{"description":"Task instructions","type":"string"},"last_run_at":{"description":"Last execution time","format":"date-time","type":"string"},"max_runs":{"description":"Maximum runs (recurring only)","type":"integer"},"metadata":{"description":"Arbitrary metadata","type":"object"},"next_run_at":{"description":"Next scheduled execution","format":"date-time","type":"string"},"run_count":{"description":"Number of times executed","type":"integer"},"schedule_type":{"description":"Schedule type (once or recurring)","type":"string"},"scheduled_at":{"description":"One-time execution time","format":"date-time","type":"string"},"status":{"description":"Schedule status","type":"string"},"thread_id":{"description":"Thread ID (if thread-bound)","type":"string"},"timezone":{"description":"Schedule timezone","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"AgentSession":{"description":"API schema for an agent session.","properties":{"agent_id":{"description":"Owning agent ID (agi_...)","type":"string"},"completed_at":{"description":"When the session completed","format":"date-time","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"error":{"description":"Error message if failed","type":"string"},"id":{"description":"Agent session ID (ase_...)","type":"string"},"inbox":{"description":"Inbox messages","items":{"type":"object"},"type":"array"},"instructions":{"description":"Task description for the session","type":"string"},"max_runs_per_turn":{"description":"Max tool runs per turn","type":"integer"},"max_tokens":{"description":"Max tokens","type":"integer"},"max_turns":{"description":"Max turns","type":"integer"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Optional display name for the session","type":"string"},"result":{"description":"Session result","type":"object"},"started_at":{"description":"When the session started running","format":"date-time","type":"string"},"status":{"description":"Session status (pending, running, waiting, completed, failed, cancelled)","type":"string"},"trajectory_id":{"description":"Trajectory ID for the durable session transcript","type":"string"}},"required":["id"],"type":"object"},"AgentSkill":{"description":"API schema for an agent skill.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"config_id":{"description":"Skill config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Agent skill ID (ask_...)","type":"string"},"instruction":{"description":"Instruction override","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"status":{"description":"Skill status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"AgentSkillList":{"description":"API schema for agent skills list response.","properties":{"data":{"description":"List of agent skills","items":{"description":"API schema for an agent skill.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"config_id":{"description":"Skill config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Agent skill ID (ask_...)","type":"string"},"instruction":{"description":"Instruction override","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"status":{"description":"Skill status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"},"AgentTool":{"description":"API schema for an agent tool.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"builtin_tool_config":{"description":"Builtin tool configuration","type":"object"},"builtin_tool_key":{"description":"Builtin tool key","type":"string"},"config_id":{"description":"Config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Tool description","type":"string"},"handler_type":{"description":"Handler type","type":"string"},"id":{"description":"Tool ID (atl_...)","type":"string"},"instruction":{"description":"Tool instruction","type":"string"},"kind":{"description":"Tool kind","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Tool name","type":"string"},"parameters":{"description":"Tool parameters","type":"object"},"parameters_config_id":{"description":"Parameters config ID","type":"string"},"status":{"description":"Tool status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"ApiCall":{"description":"Schema for an API call record.\n\nMaps to serialized API call output from developer portal API.","properties":{"api_key_type":{"description":"API key type (publishable or secret)","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"error_message":{"description":"Error message if request failed","type":"string"},"full_url":{"description":"Full request URL with query string","type":"string"},"handler_module":{"description":"ApiDsl action module","type":"string"},"id":{"description":"Public ID (aac_...)","type":"string"},"ip_address":{"description":"Client IP address","type":"string"},"latency_ms":{"description":"Latency in milliseconds","type":"integer"},"method":{"description":"HTTP method","type":"string"},"path":{"description":"Sanitized path with param placeholders","type":"string"},"query_string":{"description":"Query string","type":"string"},"request_id":{"description":"Request ID from Plug.RequestId","type":"string"},"status_code":{"description":"HTTP status code","type":"integer"},"team_id":{"description":"Team ID if team-scoped","type":"string"},"thread_id":{"description":"Thread ID if thread-scoped","type":"string"},"user_id":{"description":"User ID if user-scoped","type":"string"}},"required":["full_url","id","latency_ms","method","path","status_code"],"type":"object"},"App":{"description":"Schema for a developer app.\n\nMaps to serialized app output from developer portal API.","properties":{"app_slug":{"description":"Workspace slug (if set)","type":"string"},"app_url":{"description":"App URL","type":"string"},"brand_name":{"description":"Brand name for emails","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"description":{"description":"App description","type":"string"},"from_name":{"description":"From name for emails","type":"string"},"id":{"description":"Public ID (dap_...)","type":"string"},"marketing_url":{"description":"Marketing URL","type":"string"},"muted_color":{"description":"Muted hex color","type":"string"},"name":{"description":"App name","type":"string"},"primary_color":{"description":"Primary hex color","type":"string"},"sandboxes":{"description":"App sandboxes with keys","items":{"description":"Schema for a developer sandbox.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dsb_...)","type":"string"},"keys":{"description":"Sandbox API keys","items":{"description":"Schema for a sandbox API key.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"expires_at":{"description":"Expiry timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dsk_...)","type":"string"},"key_hint":{"description":"Last 4 chars hint","type":"string"},"key_value":{"description":"Full key (publishable only)","type":"string"},"last_used_at":{"description":"Last used timestamp","format":"date-time","type":"string"},"status":{"description":"Status (active, revoked)","type":"string"},"type":{"description":"Key type (publishable, secret)","type":"string"}},"required":["id","status","type"],"type":"object"},"type":"array"},"name":{"description":"Sandbox name","type":"string"},"slug":{"description":"Sandbox slug (unique per app)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","name","slug"],"type":"object"},"type":"array"},"status":{"description":"Status (active, suspended)","type":"string"},"support_email":{"description":"Support email address","type":"string"},"third_party_oauth_enabled":{"description":"Third-party OAuth enabled","type":"boolean"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","name","status"],"type":"object"},"AppKey":{"description":"Schema for an API key.\n\nMaps to serialized app key output from developer portal API.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dak_...)","type":"string"},"key_hint":{"description":"Last 4 chars hint","type":"string"},"key_value":{"description":"Full key (publishable only)","type":"string"},"last_used_at":{"description":"Last used timestamp","format":"date-time","type":"string"},"status":{"description":"Status (active, revoked)","type":"string"},"type":{"description":"Key type (publishable, secret)","type":"string"}},"required":["id","status","type"],"type":"object"},"Artifact":{"description":"API schema for an artifact.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version_id":{"description":"Current version ID","type":"string"},"description":{"description":"Artifact description","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"name":{"description":"Artifact name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"version":{"description":"Current version number","type":"integer"}},"required":["id"],"type":"object"},"ArtifactVersion":{"description":"API schema for an artifact version.","properties":{"artifact_id":{"description":"Parent artifact ID","type":"string"},"change_description":{"description":"Description of changes","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact version ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"version_number":{"description":"Version number","type":"integer"}},"required":["id"],"type":"object"},"Attachment":{"description":"Schema for a message attachment.\n\nAttachments can be of various types (file, scraped_link, artifact, task, media, action).\nFields present depend on the attachment type.\nMaps to format_attachments_for_client/1 output.","properties":{"content_type":{"description":"MIME content type (file, artifact, media types)","type":"string"},"description":{"description":"Description (scraped_link, artifact, task types)","type":"string"},"filename":{"description":"File name (file, artifact, media types)","type":"string"},"height":{"description":"Media height (media type)","type":"integer"},"id":{"description":"Attachment ID","type":"string"},"image_height":{"description":"Preview image height (scraped_link type)","type":"integer"},"image_source":{"description":"Image metadata (file, scraped_link, artifact, media types)","properties":{"file_id":{"description":"Storage file ID","type":"string"},"height":{"description":"Image height in pixels","type":"integer"},"media_id":{"description":"Media ID","type":"string"},"mime_type":{"description":"Image MIME type","type":"string"},"refresh_url":{"description":"URL to refresh signed URL","type":"string"},"url":{"description":"Image URL","type":"string"},"width":{"description":"Image width in pixels","type":"integer"}},"type":"object"},"image_url":{"description":"Preview image URL (scraped_link type)","type":"string"},"image_width":{"description":"Preview image width (scraped_link type)","type":"integer"},"media_type":{"description":"Media type (media type)","type":"string"},"name":{"description":"Media name (media type)","type":"string"},"object":{"description":"Embedded object (task, action types)","type":"object"},"title":{"description":"Title (scraped_link, artifact, task types)","type":"string"},"type":{"description":"Attachment type: file, scraped_link, artifact, task, media, action","type":"string"},"url":{"description":"URL to the resource (file, scraped_link, artifact, media types)","type":"string"},"variants":{"description":"Media variants (media type)","items":{"type":"object"},"type":"array"},"version":{"description":"Artifact version number (artifact type)","type":"integer"},"width":{"description":"Media width (media type)","type":"integer"}},"required":["id","type"],"type":"object"},"AuthTokens":{"description":"API schema for authentication token responses.","properties":{"expires_in":{"description":"Token TTL in seconds","type":"integer"},"metadata":{"description":"Additional metadata (e.g., onboarding_job_id)","type":"object"},"refresh_token":{"description":"Refresh token","type":"string"},"token":{"description":"Access token (JWT)","type":"string"},"token_type":{"description":"Token type (Bearer)","type":"string"},"user":{"description":"Authenticated user","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}},"required":["expires_in","refresh_token","token","token_type","user"],"type":"object"},"Automation":{"description":"Schema for a developer automation.\n\nMaps to serialized automation output from developer portal API.","properties":{"config_id":{"description":"Associated config ID (cfg_...)","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"creator_id":{"description":"Creator account ID (dac_...)","type":"string"},"description":{"description":"Optional description","type":"string"},"id":{"description":"Public ID (aut_...)","type":"string"},"lookup_key":{"description":"Optional unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Automation name","type":"string"},"schedule":{"description":"Cron expression for scheduled type","type":"string"},"status":{"description":"Status: draft, running, or paused","type":"string"},"trigger":{"description":"Event name for trigger type","type":"string"},"type":{"description":"Type: trigger or scheduled","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","name","status","type"],"type":"object"},"AutomationRun":{"description":"Schema for an automation run.\n\nMaps to serialized automation run output from developer portal API.","properties":{"app_id":{"description":"App ID (dap_...)","type":"string"},"automation_id":{"description":"Automation ID (aut_...)","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"event_id":{"description":"Triggering event ID","type":"string"},"id":{"description":"Public ID (atr_...)","type":"string"},"payload":{"description":"Event payload or execution context","type":"object"},"result":{"description":"Workflow execution result (payload and output)","type":"object"},"status":{"description":"Status: pending, running, completed, failed, cancelled","type":"string"},"team_id":{"description":"Team ID if team-owned","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID if user-owned","type":"string"}},"required":["app_id","automation_id","id","status"],"type":"object"},"ChatMember":{"description":"API schema for a chat member (user or agent).","properties":{"agent":{"description":"Agent object (for agent members)","type":"object"},"agent_id":{"description":"Agent ID (for agent members)","type":"string"},"membership_type":{"description":"Membership type","type":"string"},"type":{"description":"Member type (user or agent)","type":"string"},"user":{"description":"User object (for user members)","type":"object"},"user_id":{"description":"User ID (for user members)","type":"string"}},"required":["type"],"type":"object"},"CommentCreateParams":{"description":"Schema for comment creation parameters.\n\nUsed by both Users.Tasks.CreateComment and Teams.Tasks.CreateComment actions.","properties":{"body":{"description":"Comment body text","type":"string"}},"required":["body"],"type":"object"},"Config":{"description":"API schema for a config resource.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version":{"description":"Current version","properties":{"change_description":{"description":"Description of changes","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"data":{"description":"Additional structured data","type":"object"},"id":{"description":"Config version ID (cfv_...)","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"version_number":{"description":"Version number","type":"integer"}},"required":["id","version_number"],"type":"object"},"id":{"description":"Config ID (cfg_...)","type":"string"},"is_archived":{"description":"Whether config is archived","type":"boolean"},"kind":{"description":"Config kind (e.g., Agent, APITool)","type":"string"},"lookup_key":{"description":"Optional lookup key","type":"string"},"mime_type":{"description":"Content mime type","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"raw_content":{"description":"Raw file content (system configs only)","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"virtual_path":{"description":"Unique path within the team","type":"string"}},"required":["id","kind"],"type":"object"},"ConfigKind":{"description":"Schema for a config kind in the list response.","properties":{"kind":{"description":"The config kind name (e.g., Agent, APITool)","type":"string"},"sample_available":{"description":"Whether a YAML sample is available","type":"boolean"},"schema_available":{"description":"Whether a JSON schema is available","type":"boolean"}},"required":["kind","sample_available","schema_available"],"type":"object"},"ConfigKindSchema":{"description":"Schema for a config kind's JSON schema and sample response.","properties":{"json_schema":{"description":"JSON Schema for this config kind (can be null if not available)","type":"object"},"kind":{"description":"The config kind name","type":"string"},"sample_yaml":{"description":"Sample YAML content for this config kind (can be null if not available)","type":"string"}},"required":["kind"],"type":"object"},"ConfigVersion":{"description":"API schema for a config version.","properties":{"change_description":{"description":"Description of changes","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"data":{"description":"Additional structured data","type":"object"},"id":{"description":"Config version ID (cfv_...)","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"version_number":{"description":"Version number","type":"integer"}},"required":["id","version_number"],"type":"object"},"ContextCredential":{"description":"Schema for a user credential.\n\nMaps to serialized credential output from developer portal API.","properties":{"alt_domains":{"description":"Alternative domains","items":{"type":"string"},"type":"array"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"description":{"description":"Human-readable description","type":"string"},"domain":{"description":"Domain (e.g., app.schoology.com)","type":"string"},"id":{"description":"Public ID (ucr_...)","type":"string"},"last_accessed_at":{"description":"Last accessed timestamp","format":"date-time","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["domain","id"],"type":"object"},"ContextEntry":{"description":"API schema for a context entry.","properties":{"after_cursor":{"description":"Pagination cursor (after)","type":"string"},"agent_user_id":{"description":"Agent user ID","type":"string"},"before_cursor":{"description":"Pagination cursor (before)","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"file_ids":{"description":"Associated file IDs","items":{"type":"string"},"type":"array"},"files":{"description":"Loaded file objects","items":{"type":"object"},"type":"array"},"id":{"description":"Context entry ID","type":"string"},"link_ids":{"description":"Associated link IDs","items":{"type":"string"},"type":"array"},"links":{"description":"Loaded link objects","items":{"type":"object"},"type":"array"},"media":{"description":"Loaded media objects","items":{"type":"object"},"type":"array"},"media_ids":{"description":"Associated media IDs","items":{"type":"string"},"type":"array"},"metadata":{"description":"Entry metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"text":{"description":"Entry text","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"}},"required":["id"],"type":"object"},"ContextIngestion":{"description":"Schema for a context ingestion.\n\nMaps to serialized context ingestion output from developer portal API.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"completed_at":{"description":"Completed timestamp","format":"date-time","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"error":{"description":"Error details (if failed)","type":"object"},"id":{"description":"Public ID (cig_...)","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"source_id":{"description":"Source ID","type":"string"},"started_at":{"description":"Started timestamp","format":"date-time","type":"string"},"status":{"description":"Status (pending, running, succeeded, failed)","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id","status"],"type":"object"},"ContextIntegration":{"description":"Schema for a context integration.\n\nMaps to serialized integration output from developer portal API.","properties":{"auth_type":{"description":"Auth type: oauth or app_installation","type":"string"},"connected_at":{"description":"Connection timestamp","format":"date-time","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"expires_at":{"description":"Token expiration timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (int_...)","type":"string"},"installation_id":{"description":"External installation ID (e.g. GitHub App installation)","type":"string"},"last_refreshed_at":{"description":"Last token refresh timestamp","format":"date-time","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"provider":{"description":"Provider name (e.g., google, github)","type":"string"},"scopes":{"description":"OAuth scopes","items":{"type":"string"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"},"workspace_key":{"description":"Workspace key","type":"string"}},"required":["auth_type","id","provider"],"type":"object"},"ContextItem":{"description":"Schema for a context item.\n\nMaps to serialized context item output from developer portal API.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"Content type","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (cim_...)","type":"string"},"item_group_id":{"description":"Item group ID if part of a group","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"normalized_content":{"description":"Normalized content text","type":"string"},"raw_content":{"description":"Raw content data","type":"object"},"source_id":{"description":"Source ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"ContextSource":{"description":"Schema for a context source.\n\nMaps to serialized context source output from developer portal API.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"context_installation_id":{"description":"Associated installation ID","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (cso_...)","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"org_id":{"description":"Owning organization ID","type":"string"},"parent_source_id":{"description":"Parent source ID","type":"string"},"payload":{"description":"Type-specific configuration","type":"object"},"sandbox_id":{"description":"Owning sandbox ID","type":"string"},"state":{"description":"State: active or paused","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"thread_id":{"description":"Associated thread ID","type":"string"},"type":{"description":"Source type (e.g., gmail, github_activity)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id","state","type"],"type":"object"},"Credential":{"description":"API schema for a user credential.","properties":{"alt_domains":{"description":"Alternative domains","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Description","type":"string"},"domain":{"description":"Primary domain","type":"string"},"id":{"description":"Credential ID (ucr_...)","type":"string"},"last_accessed_at":{"description":"Last accessed timestamp","format":"date-time","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"secret_group_id":{"description":"Secret group ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"CredentialWithSecrets":{"description":"API schema for a credential with decrypted secret values.","properties":{"credential":{"description":"The credential with decrypted values","type":"object"}},"required":["credential"],"type":"object"},"CustomObject":{"description":"API schema for a custom object.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"fields":{"description":"Object field values","type":"object"},"id":{"description":"Public ID (cobj_...)","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"type":{"description":"Schema type (lookup_key)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"version":{"description":"Aggregate version for OCC","type":"integer"}},"required":["id"],"type":"object"},"DeviceAuthorizationResponse":{"description":"API schema for OAuth device authorization responses.","properties":{"device_code":{"description":"Device verification code","type":"string"},"expires_in":{"description":"TTL in seconds","type":"integer"},"interval":{"description":"Polling interval in seconds","type":"integer"},"user_code":{"description":"User-facing verification code","type":"string"},"verification_uri":{"description":"Base verification URI","type":"string"},"verification_uri_complete":{"description":"Full verification URI with code","type":"string"}},"required":["device_code","expires_in","interval","user_code","verification_uri","verification_uri_complete"],"type":"object"},"Domain":{"description":"Schema for a registered domain.\n\nMaps to serialized domain output from developer portal API.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"domain":{"description":"Domain name","type":"string"},"id":{"description":"Public ID (dad_...)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"verified":{"description":"Whether domain is verified","type":"boolean"}},"required":["domain","id"],"type":"object"},"EventType":{"description":"Schema for an event type available for automation triggers.\n\nRepresents events from the workflow event catalog.","properties":{"description":{"description":"Human-readable description","type":"string"},"name":{"description":"Event name (e.g., thread.created)","type":"string"}},"required":["description","name"],"type":"object"},"FileRefreshResult":{"description":"API schema for file URL refresh responses.","properties":{"image_source":{"description":"Updated image source with fresh URL","properties":{"file_id":{"description":"Storage file ID","type":"string"},"height":{"description":"Image height in pixels","type":"integer"},"media_id":{"description":"Media ID","type":"string"},"mime_type":{"description":"Image MIME type","type":"string"},"refresh_url":{"description":"URL to refresh signed URL","type":"string"},"url":{"description":"Image URL","type":"string"},"width":{"description":"Image width in pixels","type":"integer"}},"type":"object"},"success":{"description":"Whether the refresh succeeded","type":"boolean"}},"required":["image_source","success"],"type":"object"},"ImageSource":{"description":"API schema for image source metadata.","properties":{"file_id":{"description":"Storage file ID","type":"string"},"height":{"description":"Image height in pixels","type":"integer"},"media_id":{"description":"Media ID","type":"string"},"mime_type":{"description":"Image MIME type","type":"string"},"refresh_url":{"description":"URL to refresh signed URL","type":"string"},"url":{"description":"Image URL","type":"string"},"width":{"description":"Image width in pixels","type":"integer"}},"type":"object"},"Installation":{"description":"API schema for an installation.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"config":{"description":"Configuration","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Installation ID (cin_...)","type":"string"},"kind":{"description":"Installation kind","type":"string"},"state":{"description":"Installation state","type":"string"},"status_payload":{"description":"Status payload","type":"object"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"InstallationKind":{"description":"API schema for an installation kind.","properties":{"accepts_sources":{"description":"Whether this kind accepts sources","type":"boolean"},"category":{"description":"Category","type":"string"},"config_schema":{"description":"JSON schema for configuration","type":"object"},"description":{"description":"Description","type":"string"},"kind":{"description":"Installation kind identifier","type":"string"},"label":{"description":"Display label","type":"string"},"provider":{"description":"Integration provider","type":"string"},"requires_integration":{"description":"Whether this kind requires an integration","type":"boolean"}},"required":["kind"],"type":"object"},"InstallationSource":{"description":"API schema for an installation source.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"context_installation_id":{"description":"Installation ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Source ID (cso_...)","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"parent_source_id":{"description":"Parent source ID","type":"string"},"payload":{"description":"Source payload","type":"object"},"state":{"description":"Source state","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"type":{"description":"Source type","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"}},"required":["id"],"type":"object"},"Integration":{"description":"Schema for integration records with connector state.","properties":{"id":{"description":"Integration ID","type":"string"},"org_id":{"description":"Organization ID (nullable)","type":"string"},"provider":{"description":"Provider identifier","type":"string"},"sandbox_id":{"description":"Sandbox identifier (nullable)","type":"string"},"secret_group_id":{"description":"Secret group ID","type":"string"},"state":{"description":"Connector state information","type":"object"},"team_id":{"description":"Team ID (if team-scoped)","type":"string"},"user_id":{"description":"User ID (if user-scoped)","type":"string"},"workspace_key":{"description":"Provider workspace identifier","type":"string"}},"required":["id","provider","state"],"type":"object"},"IntegrationAction":{"description":"Schema for integration action metadata.","properties":{"description":{"description":"Action description","type":"string"},"json_schema":{"description":"JSON Schema for action parameters","type":"object"},"key":{"description":"Action key (e.g., gmail.list_messages)","type":"string"},"scopes_any_of":{"description":"Required scope sets for this action","type":"object"}},"required":["json_schema","key"],"type":"object"},"Inviter":{"description":"Account that sent the invite","properties":{"email":{"description":"Inviter email","type":"string"},"full_name":{"description":"Inviter full name","type":"string"},"id":{"description":"Inviter account ID","type":"string"}},"required":["email","id"],"type":"object"},"KeyValueStorageEntry":{"description":"Schema for a key-value storage entry.\n\nMaps exactly to render_entry/1 output in ApiStorageController.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"key":{"description":"Storage key","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"value":{"description":"Stored value","type":"string"}},"required":["key","user_id","value"],"type":"object"},"LlmCall":{"description":"Schema for an LLM session call.\n\nMaps to serialized LLM call output from developer portal API.","properties":{"call_id":{"description":"Unique call UUID","type":"string"},"completion_tokens":{"description":"Number of completion tokens","type":"integer"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"error_message":{"description":"Error message if call failed","type":"string"},"id":{"description":"Public ID (alc_...)","type":"string"},"latency_ms":{"description":"Latency in milliseconds","type":"integer"},"metadata":{"description":"Additional metadata","type":"object"},"model":{"description":"LLM model name","type":"string"},"prompt_tokens":{"description":"Number of prompt tokens","type":"integer"},"session_id":{"description":"Session UUID grouping related calls","type":"string"},"source":{"description":"Machine-readable call source key","type":"string"},"status":{"description":"Call status (success or error)","type":"string"},"team_id":{"description":"Team ID if team-scoped","type":"string"},"total_tokens":{"description":"Total tokens (prompt + completion)","type":"integer"},"user_id":{"description":"User ID if user-scoped","type":"string"}},"required":["call_id","completion_tokens","id","latency_ms","prompt_tokens","session_id","total_tokens"],"type":"object"},"LlmCallSourceOption":{"description":"Source option metadata for LLM call filtering.","properties":{"label":{"description":"Human-friendly source label","type":"string"},"source":{"description":"Machine-readable LLM source key","type":"string"}},"required":["label","source"],"type":"object"},"Media":{"description":"API schema for a media item.","properties":{"content_type":{"description":"Original variant content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"filename":{"description":"Original variant filename","type":"string"},"height":{"description":"Original variant height","type":"integer"},"id":{"description":"Media ID","type":"string"},"media_type":{"description":"Media type","type":"string"},"name":{"description":"Media name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"url":{"description":"Original variant URL","type":"string"},"variants":{"description":"Media variants","items":{"type":"object"},"type":"array"},"width":{"description":"Original variant width","type":"integer"}},"required":["id"],"type":"object"},"MediaVariant":{"description":"API schema for a media variant.","properties":{"content_type":{"description":"File content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"filename":{"description":"Original filename","type":"string"},"height":{"description":"Height in pixels","type":"integer"},"id":{"description":"Variant ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"url":{"description":"Signed download URL","type":"string"},"variant_key":{"description":"Variant key (original, thumbnail, etc)","type":"string"},"width":{"description":"Width in pixels","type":"integer"}},"required":["id"],"type":"object"},"Member":{"description":"Schema for an app member (account with role on an app).\n\nMaps to serialized membership output from developer portal API.","properties":{"account":{"description":"Associated account","properties":{"alias":{"description":"Account alias","type":"string"},"email":{"description":"Account email","type":"string"},"full_name":{"description":"Full name","type":"string"},"id":{"description":"Account public ID (dva_...)","type":"string"}},"required":["email","id"],"type":"object"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dar_...)","type":"string"},"role":{"description":"Role (admin, developer)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["account","id","role"],"type":"object"},"MemberInvite":{"description":"Schema for a pending member invite.\n\nMaps to serialized invite output from developer portal API.","properties":{"email":{"description":"Invitee's email address","type":"string"},"expires_at":{"description":"When the invite expires","format":"date-time","type":"string"},"id":{"description":"Public ID (ami_...)","type":"string"},"invited_at":{"description":"When the invite was created","format":"date-time","type":"string"},"inviter":{"description":"Account that sent the invite","properties":{"email":{"description":"Inviter email","type":"string"},"full_name":{"description":"Inviter full name","type":"string"},"id":{"description":"Inviter account ID","type":"string"}},"required":["email","id"],"type":"object"},"role":{"description":"Role (admin, developer)","type":"string"},"status":{"description":"Invite status (pending)","type":"string"}},"required":["email","expires_at","id","invited_at","role","status"],"type":"object"},"Message":{"description":"API schema for a chat message.","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"MessageReaction":{"description":"Schema for inline message reactions.\n\nThis is the compact format used in Message.reactions[], which differs from\nthe full Reaction schema used in standalone reaction endpoints.\nMaps to format_reactions_for_client/1 output.","properties":{"payload":{"description":"Reaction payload (e.g., {emoji: '👍'})","type":"object"},"type":{"description":"Reaction type (e.g., emoji_reaction)","type":"string"},"user_id":{"description":"User who added the reaction","type":"string"}},"required":["type"],"type":"object"},"MessageUpdateParams":{"description":"Schema for message update request parameters.\n\nUsed as the body wrapper when updating a message.","properties":{"content":{"description":"New message content","type":"string"}},"type":"object"},"MetadataFilter":{"description":"Filter object for matching thread metadata.","properties":{"key":{"description":"Metadata key to match","type":"string"},"type":{"description":"Filter type (must be \"metadata\")","type":"string"},"value":{"description":"Metadata value to match","type":"string"}},"required":["key","type","value"],"type":"object"},"NotificationSettingUpdate":{"description":"Schema for a single notification setting update entry.","properties":{"level":{"description":"Notification level (global, team, thread)","type":"string"},"muted":{"description":"Whether notifications are muted","type":"boolean"},"team_id":{"description":"Team ID (required for team-level settings)","type":"string"},"thread_id":{"description":"Thread ID (required for thread-level settings)","type":"string"}},"required":["level","muted"],"type":"object"},"OAuthError":{"description":"OAuth error response per RFC 6749","properties":{"error":{"description":"Error code (e.g. slow_down, invalid_grant)","type":"string"},"error_description":{"description":"Human-readable error description","type":"string"}},"required":["error"],"type":"object"},"OAuthProvider":{"description":"Schema for an OAuth provider configuration.\n\nMaps to serialized OAuth provider output from developer portal API.","properties":{"callback_urls":{"description":"Allowed callback URLs","items":{"type":"string"},"type":"array"},"client_id":{"description":"OAuth client ID","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"display_name":{"description":"Display name","type":"string"},"enabled":{"description":"Whether provider is enabled","type":"boolean"},"id":{"description":"Public ID (dop_...)","type":"string"},"provider":{"description":"Provider type (github, google)","type":"string"},"scopes":{"description":"OAuth scopes","items":{"type":"string"},"type":"array"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["client_id","id","provider"],"type":"object"},"OAuthTokenResponse":{"description":"API schema for OAuth token endpoint responses.","properties":{"access_token":{"description":"OAuth access token","type":"string"},"expires_in":{"description":"Token TTL in seconds","type":"integer"},"refresh_token":{"description":"OAuth refresh token","type":"string"},"scope":{"description":"Granted scopes (space-separated)","type":"string"},"token_type":{"description":"Token type (Bearer)","type":"string"},"user":{"description":"Authenticated user","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}},"required":["access_token","expires_in","token_type"],"type":"object"},"Org":{"description":"API schema for an organization.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Description","type":"string"},"domain":{"description":"Domain","type":"string"},"id":{"description":"Organization ID (org_...)","type":"string"},"industry":{"description":"Industry","type":"string"},"name":{"description":"Organization name","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"status":{"description":"Status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"website":{"description":"Website URL","type":"string"}},"required":["id"],"type":"object"},"OrgEnvVar":{"description":"Schema for an organization environment variable response that includes the\nplaintext value.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"description":{"description":"Optional description","type":"string"},"id":{"description":"Organization env var ID (oev_...)","type":"string"},"key":{"description":"Environment variable key","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"value":{"description":"Environment variable value","type":"string"}},"required":["id","key","value"],"type":"object"},"OrgEnvVarMasked":{"description":"Schema for an organization environment variable response that masks the\nsecret value.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"description":{"description":"Optional description","type":"string"},"id":{"description":"Organization env var ID (oev_...)","type":"string"},"key":{"description":"Environment variable key","type":"string"},"masked_value":{"description":"Masked environment variable value","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","key","masked_value"],"type":"object"},"OrgEnvVarMaskedList":{"description":"Schema for organization environment variable list responses.","properties":{"data":{"description":"Organization environment variables","items":{"description":"Schema for an organization environment variable response that masks the\nsecret value.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"description":{"description":"Optional description","type":"string"},"id":{"description":"Organization env var ID (oev_...)","type":"string"},"key":{"description":"Environment variable key","type":"string"},"masked_value":{"description":"Masked environment variable value","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","key","masked_value"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"},"PaginatedMessages":{"description":"Schema for paginated messages response.\n\nUsed by thread messages list endpoints.","properties":{"after_cursor":{"description":"Cursor for fetching items after this point","type":"string"},"before_cursor":{"description":"Cursor for fetching items before this point","type":"string"},"messages":{"description":"List of message objects","items":{"type":"object"},"type":"array"}},"required":["messages"],"type":"object"},"PaginatedReplies":{"description":"Schema for paginated message replies response.\n\nUsed by message replies list endpoints.\nNote: This response is NOT wrapped in a \"data\" field.","properties":{"after_cursor":{"description":"Cursor for fetching items after this point","type":"string"},"before_cursor":{"description":"Cursor for fetching items before this point","type":"string"},"has_more":{"description":"Whether more replies exist beyond the current page","type":"boolean"},"replies":{"description":"List of reply message objects","items":{"description":"API schema for a chat message.","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"type":"array"},"total_count":{"description":"Total number of replies","type":"integer"}},"required":["replies"],"type":"object"},"PasswordUpdateParams":{"description":"Schema for password update parameters.","properties":{"password":{"description":"New password","type":"string"},"password_confirmation":{"description":"New password confirmation","type":"string"}},"required":["password","password_confirmation"],"type":"object"},"Persona":{"description":"API schema for a persona.","properties":{"activated":{"description":"Whether persona is activated","type":"boolean"},"agent_id":{"description":"Associated agent ID (always nil)","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Persona ID","type":"string"},"is_active":{"description":"Whether persona is active","type":"boolean"},"is_enabled_for_thread":{"description":"Whether persona is enabled for thread","type":"boolean"},"metadata":{"description":"Persona metadata","type":"object"},"name":{"description":"Persona display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"persona_template_id":{"description":"Source template ID","type":"string"},"personality":{"description":"Persona personality description","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"PersonaCreateParams":{"description":"Schema for persona creation parameters.","properties":{"name":{"description":"Persona display name","type":"string"},"personality":{"description":"Persona personality description","type":"string"},"profile_picture_style":{"description":"Profile picture generation style","type":"string"}},"required":["name","personality"],"type":"object"},"PersonaTemplate":{"description":"API schema for a persona template.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Template description","type":"string"},"id":{"description":"Persona template ID","type":"string"},"is_active":{"description":"Whether template is active","type":"boolean"},"key":{"description":"Unique key","type":"string"},"metadata":{"description":"Template metadata","type":"object"},"name":{"description":"Template name","type":"string"},"personality":{"description":"Template personality","type":"string"},"profile_picture_prompt":{"description":"Profile picture generation prompt","type":"string"},"profile_picture_style":{"description":"Profile picture style","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"PersonaUpdateParams":{"description":"Schema for persona update parameters.","properties":{"metadata":{"description":"Additional metadata","type":"object"},"name":{"description":"Persona display name","type":"string"},"personality":{"description":"Persona personality description","type":"string"}},"type":"object"},"PictureParams":{"description":"Schema for picture upload parameters.\n\nUsed for uploading profile pictures via base64 encoded data.","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"required":["data","filename","mime_type"],"type":"object"},"ProfilePicture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"PushNotificationResult":{"description":"API schema for push notification test results.","properties":{"results":{"description":"Per-device results","items":{"type":"object"},"type":"array"},"success":{"description":"Whether the notification was sent","type":"boolean"},"total_sent":{"description":"Number of notifications sent","type":"integer"}},"required":["success"],"type":"object"},"Reaction":{"description":"API schema for a message reaction.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"feedback_type":{"description":"Type of feedback (e.g., emoji_reaction)","type":"string"},"id":{"description":"Reaction ID (umf_...)","type":"string"},"message_id":{"description":"Message the reaction is on","type":"string"},"payload":{"description":"Reaction payload (e.g., {emoji: ...})","type":"object"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User who added the reaction","type":"string"}},"required":["id"],"type":"object"},"ResolvedTool":{"description":false,"properties":{"description":{"description":"What this tool does","type":"string"},"name":{"description":"Callable tool function name","type":"string"},"parameters":{"description":"JSON Schema describing the expected input","type":"object"}},"required":["name"],"type":"object"},"RuntimeEnvVar":{"description":"Schema for runtime environment variable metadata.","properties":{"description":{"description":"Optional description","type":"string"},"key":{"description":"Environment variable key","type":"string"},"source":{"description":"Source of the env var (app or org)","type":"string"}},"required":["key","source"],"type":"object"},"RuntimeEnvVarList":{"description":"Schema for runtime environment variable metadata list responses.","properties":{"data":{"description":"Runtime environment variables available to the current script context","items":{"description":"Schema for runtime environment variable metadata.","properties":{"description":{"description":"Optional description","type":"string"},"key":{"description":"Environment variable key","type":"string"},"source":{"description":"Source of the env var (app or org)","type":"string"}},"required":["key","source"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"},"Sandbox":{"description":"Schema for a developer sandbox.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dsb_...)","type":"string"},"keys":{"description":"Sandbox API keys","items":{"description":"Schema for a sandbox API key.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"expires_at":{"description":"Expiry timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dsk_...)","type":"string"},"key_hint":{"description":"Last 4 chars hint","type":"string"},"key_value":{"description":"Full key (publishable only)","type":"string"},"last_used_at":{"description":"Last used timestamp","format":"date-time","type":"string"},"status":{"description":"Status (active, revoked)","type":"string"},"type":{"description":"Key type (publishable, secret)","type":"string"}},"required":["id","status","type"],"type":"object"},"type":"array"},"name":{"description":"Sandbox name","type":"string"},"slug":{"description":"Sandbox slug (unique per app)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","name","slug"],"type":"object"},"SandboxEmail":{"description":"Schema for a sandbox-captured email.","properties":{"bcc":{"description":"BCC recipients","items":{"type":"object"},"type":"array"},"cc":{"description":"CC recipients","items":{"type":"object"},"type":"array"},"created_at":{"description":"When the email was captured","format":"date-time","type":"string"},"from_address":{"description":"Sender email address","type":"string"},"from_name":{"description":"Sender display name","type":"string"},"headers":{"description":"Custom email headers","type":"object"},"html_body":{"description":"HTML body","type":"string"},"id":{"description":"Public ID (sem_...)","type":"string"},"reply_to":{"description":"Reply-to address","type":"object"},"subject":{"description":"Email subject","type":"string"},"text_body":{"description":"Plain text body","type":"string"},"to":{"description":"Recipients [{name, address}]","items":{"type":"object"},"type":"array"}},"required":["from_address","id","to"],"type":"object"},"SandboxKey":{"description":"Schema for a sandbox API key.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"expires_at":{"description":"Expiry timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (dsk_...)","type":"string"},"key_hint":{"description":"Last 4 chars hint","type":"string"},"key_value":{"description":"Full key (publishable only)","type":"string"},"last_used_at":{"description":"Last used timestamp","format":"date-time","type":"string"},"status":{"description":"Status (active, revoked)","type":"string"},"type":{"description":"Key type (publishable, secret)","type":"string"}},"required":["id","status","type"],"type":"object"},"ScheduledJob":{"description":"API schema for a scheduled job.","properties":{"args":{"description":"Job arguments","type":"object"},"description":{"description":"Job description","type":"string"},"id":{"description":"Job ID","type":"string"},"recurring":{"description":"Recurrence pattern","type":"string"},"scheduled_at":{"description":"Scheduled execution time","format":"date-time","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"title":{"description":"Job title","type":"string"},"worker":{"description":"Worker module name","type":"string"}},"required":["id"],"type":"object"},"Scrape":{"description":"API schema for a scrape result.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Page description","type":"string"},"id":{"description":"Scrape ID (scp_...)","type":"string"},"image_height":{"description":"Image height in pixels","type":"integer"},"image_url":{"description":"Image URL","type":"string"},"image_width":{"description":"Image width in pixels","type":"integer"},"last_scraped_at":{"description":"Last scraped timestamp","format":"date-time","type":"string"},"metadata":{"description":"Scrape metadata","type":"object"},"status":{"description":"Scrape status","type":"string"},"title":{"description":"Page title","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"url":{"description":"Scraped URL","type":"string"},"version":{"description":"Scrape version","type":"integer"}},"required":["id"],"type":"object"},"Secret":{"description":"API schema for a secret (user, team, or user-team).","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Secret description","type":"string"},"id":{"description":"Secret ID","type":"string"},"last_accessed_at":{"description":"Last accessed timestamp","format":"date-time","type":"string"},"name":{"description":"Secret name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"secret_group_id":{"description":"Secret group ID","type":"string"},"team_id":{"description":"Team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"SecretValue":{"description":"API schema for a decrypted secret value response.","properties":{"name":{"description":"Secret name","type":"string"},"value":{"description":"Decrypted secret value","type":"string"}},"required":["name","value"],"type":"object"},"StatusPing":{"description":"API schema for the status/ping health check response.","properties":{"success":{"description":"Whether the ping succeeded","type":"boolean"},"token":{"description":"Token status details","type":"object"},"user":{"description":"Authenticated user (if token is valid)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}},"required":["success","token"],"type":"object"},"StorageFile":{"description":"API schema for a storage file.","properties":{"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"filename":{"description":"Original filename","type":"string"},"id":{"description":"File ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"size":{"description":"File size in bytes","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"url":{"description":"Signed download URL","type":"string"}},"required":["id"],"type":"object"},"SystemAccessToken":{"description":"API schema for a system access token.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Token ID (sat_...)","type":"string"},"last_used_at":{"description":"Last used timestamp","format":"date-time","type":"string"},"name":{"description":"Token name","type":"string"},"revoked_at":{"description":"Revocation timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"Task":{"description":"API schema for a task.","properties":{"closed_at":{"description":"When the task was closed","format":"date-time","type":"string"},"comments_count":{"description":"Number of comments","type":"integer"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"created_by_actor":{"description":"Creator actor details","type":"object"},"created_by_id":{"description":"Legacy creator ID","type":"string"},"created_by_persona_id":{"description":"Creator persona ID","type":"string"},"created_by_type":{"description":"Creator type (user, agent)","type":"string"},"created_by_user_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Task description","type":"string"},"due_date":{"description":"Due date","format":"date-time","type":"string"},"id":{"description":"Task ID (tsk_...)","type":"string"},"links":{"description":"Related links","type":"object"},"metadata":{"description":"Additional metadata","type":"object"},"name":{"description":"Task name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"owner_actor":{"description":"Owner actor details","type":"object"},"owner_id":{"description":"Legacy owner ID","type":"string"},"owner_persona_id":{"description":"Owner persona ID","type":"string"},"owner_user_id":{"description":"Owner user ID","type":"string"},"priority":{"description":"Priority level (0-4)","type":"integer"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"status":{"description":"Task status","type":"string"},"team_id":{"description":"Team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id","name","status"],"type":"object"},"TaskActivityEntry":{"description":"Schema for a task activity entry.\n\nMaps exactly to the activity entries produced by TaskActivitySentenceGenerator.","properties":{"event_id":{"description":"Event ID","type":"string"},"event_type":{"description":"Type of event","type":"string"},"sentence":{"description":"Human-readable description of the activity","type":"string"},"timestamp":{"description":"When the event occurred","format":"date-time","type":"string"}},"type":"object"},"TaskComment":{"description":"API schema for a task comment.","properties":{"author_actor":{"description":"Author actor details","type":"object"},"author_id":{"description":"Legacy author ID","type":"string"},"author_persona_id":{"description":"Author persona ID","type":"string"},"author_user_id":{"description":"Author user ID","type":"string"},"body":{"description":"Comment body text","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Comment ID","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"task_id":{"description":"Task ID","type":"string"},"team_id":{"description":"Team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["body","id"],"type":"object"},"TaskCreateParams":{"description":"Schema for task creation parameters.\n\nUsed by both Users.Tasks.Create and Teams.Tasks.Create actions.","properties":{"description":{"description":"Task description","type":"string"},"due_date":{"description":"Due date","format":"date-time","type":"string"},"links":{"description":"Related links","type":"object"},"metadata":{"description":"Additional metadata","type":"object"},"name":{"description":"Task name","type":"string"},"owner_persona_id":{"description":"Owner persona ID if assigned to agent","type":"string"},"owner_user_id":{"description":"Owner user ID if assigned to user","type":"string"},"priority":{"description":"Priority level (0-4)","type":"integer"},"status":{"description":"Task status (open, in_progress, done)","type":"string"},"task_id":{"description":"Custom task ID (optional, auto-generated if not provided)","type":"string"}},"required":["name"],"type":"object"},"TaskUpdateParams":{"description":"Schema for task update parameters.\n\nUsed by both Users.Tasks.Update and Teams.Tasks.Update actions.\nAll fields are optional since updates only modify provided fields.","properties":{"description":{"description":"Task description","type":"string"},"due_date":{"description":"Due date","format":"date-time","type":"string"},"links":{"description":"Related links","type":"object"},"metadata":{"description":"Additional metadata","type":"object"},"name":{"description":"Task name","type":"string"},"owner_persona_id":{"description":"Owner persona ID if assigned to agent","type":"string"},"owner_user_id":{"description":"Owner user ID if assigned to user","type":"string"},"priority":{"description":"Priority level (0-4)","type":"integer"},"status":{"description":"Task status (open, in_progress, done)","type":"string"}},"type":"object"},"Team":{"description":"API schema for a team.","properties":{"badges":{"description":"Badge counts by category","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Team description","type":"string"},"id":{"description":"Team ID","type":"string"},"metadata":{"description":"Team metadata","type":"object"},"name":{"description":"Team name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"TeamCreateParams":{"description":"Schema for team creation parameters.","properties":{"description":{"description":"Team description","type":"string"},"metadata":{"description":"Arbitrary key-value metadata","type":"object"},"name":{"description":"Team name","type":"string"}},"required":["name"],"type":"object"},"TeamInvite":{"description":"Schema for a team invite response.","properties":{"code":{"description":"6-character invite code","type":"string"}},"required":["code"],"type":"object"},"TeamMember":{"description":"Schema for a team member.","properties":{"alias":{"description":"User alias","type":"string"},"email":{"description":"User email","type":"string"},"full_name":{"description":"User full name","type":"string"},"id":{"description":"Public user ID","type":"string"},"role":{"description":"Role in the team (owner, admin, member)","type":"string"}},"required":["id"],"type":"object"},"TeamMembership":{"description":"API schema for a team membership.","properties":{"agent":{"description":"Agent object (when loaded)","type":"object"},"agent_id":{"description":"Agent ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Membership ID","type":"string"},"joined_at":{"description":"Join timestamp","format":"date-time","type":"string"},"metadata":{"description":"Membership metadata","type":"object"},"name":{"description":"Member name","type":"string"},"profile_picture":{"description":"Profile picture","type":"object"},"role":{"description":"Role in team","type":"string"},"team":{"description":"Team object (when loaded)","type":"object"},"team_id":{"description":"Team ID","type":"string"},"type":{"description":"Member type (user, agent, unknown)","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user":{"description":"User object (when loaded)","type":"object"},"user_id":{"description":"User ID","type":"string"}},"required":["id"],"type":"object"},"TeamUpdateParams":{"description":"Schema for team update parameters.","properties":{"description":{"description":"Team description","type":"string"},"metadata":{"description":"Arbitrary key-value metadata","type":"object"},"name":{"description":"Team name","type":"string"},"profile_picture":{"description":"Base64-encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"}},"type":"object"},"TemplateFilter":{"description":"Filter object for matching personas by template ID.","properties":{"id":{"description":"Persona template ID to match","type":"string"},"type":{"description":"Filter type (must be \"template\")","type":"string"}},"required":["id","type"],"type":"object"},"Thread":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"ThreadAction":{"description":"API schema for a thread action.","properties":{"call_to_action":{"description":"Call to action text","type":"string"},"completion_result":{"description":"Result after action completion","type":"object"},"id":{"description":"Thread action ID (tha_...)","type":"string"},"metadata":{"description":"Action metadata","type":"object"},"native_template":{"description":"Native template for mobile clients","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"path":{"description":"URL path for action","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"status":{"description":"Action status (active, canceled, done)","type":"string"},"type":{"description":"Action type (connect_google, add_credential, send_email)","type":"string"}},"required":["id","status","type"],"type":"object"},"ThreadCreateParams":{"description":"Schema for thread creation parameters.\n\nUsed by both Users.Threads.Create and Teams.Threads.Create actions.","properties":{"create_legacy_agent":{"description":"Create a legacy chat agent for this thread","type":"boolean"},"description":{"description":"Thread description","type":"string"},"is_unlisted":{"description":"Whether the thread is unlisted","type":"boolean"},"key":{"description":"Unique key for the thread","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"profile_picture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"settings":{"description":"Thread settings","type":"object"},"title":{"description":"Thread title","type":"string"}},"type":"object"},"ThreadDetail":{"description":"Schema for thread detail response in the developer portal.\n\nExtended thread data including members and associated entities.","properties":{"agent":{"description":"Associated agent info (id, name)","type":"object"},"app_name":{"description":"Associated app name","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"creator":{"description":"Thread creator info (id, email, full_name)","type":"object"},"id":{"description":"Public ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel thread","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_unlisted":{"description":"Whether thread is hidden from listings","type":"boolean"},"key":{"description":"Unique key within owner scope","type":"string"},"members":{"description":"Thread member list","items":{"type":"object"},"type":"array"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID (nullable)","type":"string"},"owner_id":{"description":"Owner public ID","type":"string"},"owner_name":{"description":"Owner display name","type":"string"},"owner_type":{"description":"Owner type: team, user, agent, or nil","type":"string"},"sandbox_id":{"description":"Sandbox identifier (nullable)","type":"string"},"slug":{"description":"URL-friendly slug","type":"string"},"title":{"description":"Thread title","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"}},"required":["id","title"],"type":"object"},"ThreadMember":{"description":"API schema for a thread member.","properties":{"membership_type":{"description":"Membership type (owner or member)","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"user":{"description":"User details (when loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"User ID","type":"string"}},"type":"object"},"ThreadMessage":{"description":"Schema for a thread message in the developer portal.\n\nMaps to serialized message output from developer portal API.","properties":{"content":{"description":"Message content","type":"string"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"id":{"description":"Public ID (msg_...)","type":"string"},"org_id":{"description":"Organization ID (nullable)","type":"string"},"sandbox_id":{"description":"Sandbox identifier (nullable)","type":"string"},"sender_id":{"description":"Sender public ID","type":"string"},"sender_name":{"description":"Display name of sender","type":"string"},"sender_type":{"description":"Type: user, agent, or system","type":"string"}},"required":["id"],"type":"object"},"ThreadMessageTrajectory":{"description":"API schema for a thread message trajectory.","properties":{"agent_message_id":{"description":"Agent message ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Thread message trajectory ID (tmt_...)","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"trajectory_id":{"description":"Trajectory ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_message_id":{"description":"User message ID","type":"string"}},"required":["id"],"type":"object"},"ThreadReadStatus":{"description":"Schema for thread read status response.","properties":{"last_read_message_id":{"description":"Last read message ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"unread_count":{"description":"Number of unread messages","type":"integer"}},"required":["thread_id","unread_count"],"type":"object"},"ThreadSettings":{"description":"Schema for thread settings response.\n\nUsed by thread settings show/update endpoints.","properties":{"agent_enabled":{"description":"Whether the agent is enabled for this thread","type":"boolean"}},"type":"object"},"ThreadUpdateParams":{"description":"Schema for thread update parameters.\n\nUsed by both Users.Threads.Update and Teams.Threads.Update actions.","properties":{"description":{"description":"Thread description","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"profile_picture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"title":{"description":"Thread title","type":"string"}},"type":"object"},"Trajectory":{"description":"API schema for an AI trajectory.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"id":{"description":"Trajectory ID (trj_...)","type":"string"},"messages":{"description":"Trajectory messages","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"User":{"description":"API schema for a user.","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"UserFeedback":{"description":"API schema for user feedback on messages.","properties":{"comment":{"description":"Optional comment","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Feedback ID","type":"string"},"message_id":{"description":"Message ID","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"rating":{"description":"Rating (positive/negative)","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"source":{"description":"Feedback source","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Update timestamp","format":"date-time","type":"string"}},"required":["id","message_id","rating","source","thread_id"],"type":"object"},"UserInvite":{"description":"API schema for a user invite.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Invite ID (uin_...)","type":"string"},"key":{"description":"Invite key","type":"string"},"metadata":{"description":"Invite metadata","type":"object"},"persona":{"description":"Invite persona","type":"object"},"thread_id":{"description":"Thread ID","type":"string"},"user":{"description":"Invite creator","type":"object"}},"required":["id"],"type":"object"},"ValidationResult":{"description":"Schema for config validation result.","properties":{"errors":{"description":"List of validation errors","items":{"type":"string"},"type":"array"},"valid":{"description":"Whether the config is valid","type":"boolean"}},"required":["valid"],"type":"object"},"Webhook":{"description":"Schema for a developer webhook.\n\nMaps to serialized webhook output from developer portal API.","properties":{"context_installation_id":{"description":"Bound context installation ID","type":"string"},"context_source_ids":{"description":"Bound context source IDs","items":{"type":"string"},"type":"array"},"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"enabled":{"description":"Whether the webhook is enabled","type":"boolean"},"id":{"description":"Public ID (whk_...)","type":"string"},"lookup_key":{"description":"Lookup key for generic webhooks","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"provider":{"description":"Provider type for known providers (github, slack), nil for generic webhooks","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"webhook_url":{"description":"URL to send webhooks to","type":"string"}},"required":["enabled","id","webhook_url"],"type":"object"},"WebhookEvent":{"description":"Schema for a webhook event.\n\nMaps to serialized webhook event output from developer portal API.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"error":{"description":"Error message if failed","type":"string"},"event_type":{"description":"Event type from the provider","type":"string"},"headers":{"description":"Request headers","type":"object"},"id":{"description":"Public ID (whe_...)","type":"string"},"payload":{"description":"Event payload","type":"object"},"processed_at":{"description":"When the event was processed","format":"date-time","type":"string"},"status":{"description":"Processing status (pending, processed, failed)","type":"string"}},"required":["id","status"],"type":"object"},"WorkingMemoryEntry":{"description":"API schema for a working memory entry.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"expires_at":{"description":"Expiration timestamp","format":"date-time","type":"string"},"id":{"description":"Memory entry ID (amm_...)","type":"string"},"key":{"description":"Memory key","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"value":{"description":"Memory value","type":"string"}},"required":["id"],"type":"object"}}},"info":{"description":"Agent-first API for runtime + developer control-plane operations (users, teams, agents, routines, context, workflows, integrations, and webhooks).","title":"ArchAstro Platform API","version":"v2"},"openapi":"3.0.0","paths":{"/api/v2/agents":{"get":{"operationId":"get_api_v2_agents","parameters":[{"description":"Filter to agents owned by this user","in":"query","name":"user","required":false,"schema":{"type":"string"}},{"description":"Page number (default 1)","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Results per page (default 25)","in":"query","name":"page_size","required":false,"schema":{"type":"integer"}},{"description":"Search by agent, org, team, or owner fields","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"}},"summary":"List paginated agents (server-to-server API)"},"post":{"operationId":"post_api_v2_agents","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"default_model":{"description":"Default AI model for this agent","type":"string"},"email":{"description":"Agent email","type":"string"},"identity":{"description":"Identity prompt describing who the agent is","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"profile_picture":{"description":"Base64-encoded profile picture","properties":{"data":{"description":"Base64-encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"required":["data","filename","mime_type"],"type":"object"},"team":{"description":"Team ID","type":"string"},"template":{"description":"Template ID to provision agent from","type":"string"},"user":{"description":"User ID","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an agent.","properties":{"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"default_model":{"description":"Default AI model","type":"string"},"email":{"description":"Agent email","type":"string"},"id":{"description":"Agent ID (agi_...)","type":"string"},"identity":{"description":"Identity prompt","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"400":{"description":"name or template_id is required"},"401":{"description":"Unauthorized"},"404":{"description":"Template not found"},"422":{"description":"Validation failed"}},"summary":"Create a new agent (server-to-server API)"}},"/api/v2/agents/{agent}":{"delete":{"operationId":"delete_api_v2_agents__agent","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"}},"summary":"Delete an agent (server-to-server API)"},"get":{"operationId":"get_api_v2_agents__agent","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an agent.","properties":{"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"default_model":{"description":"Default AI model","type":"string"},"email":{"description":"Agent email","type":"string"},"id":{"description":"Agent ID (agi_...)","type":"string"},"identity":{"description":"Identity prompt","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"}},"summary":"Show a single agent (server-to-server API)"},"patch":{"operationId":"patch_api_v2_agents__agent","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID","type":"string"},"default_model":{"description":"Default AI model for this agent","type":"string"},"email":{"description":"Agent email","type":"string"},"identity":{"description":"Identity prompt describing who the agent is","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"profile_picture":{"description":"Base64-encoded profile picture","properties":{"data":{"description":"Base64-encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"required":["data","filename","mime_type"],"type":"object"},"team":{"description":"Team ID","type":"string"},"user":{"description":"User ID","type":"string"}},"required":["agent"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an agent.","properties":{"app_id":{"description":"Application ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"default_model":{"description":"Default AI model","type":"string"},"email":{"description":"Agent email","type":"string"},"id":{"description":"Agent ID (agi_...)","type":"string"},"identity":{"description":"Identity prompt","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Agent name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"phone_number":{"description":"Agent phone number","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"team_id":{"description":"Owning team ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"},"422":{"description":"Validation failed"}},"summary":"Update an existing agent (server-to-server API)"}},"/api/v2/agents/{agent}/agent_computers":{"get":{"operationId":"get_api_v2_agents__agent_agent_computers","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"}},"summary":"List computers, optionally filtered by agent ID"},"post":{"operationId":"post_api_v2_agents__agent_agent_computers","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID","type":"string"},"config":{"description":"Computer configuration","type":"object"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Computer name","type":"string"},"region":{"description":"Region to provision in (default: iad)","type":"string"}},"required":["agent","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an agent computer.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"config":{"description":"Configuration","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"error_message":{"description":"Error message","type":"string"},"id":{"description":"Computer ID (cmp_...)","type":"string"},"last_active_at":{"description":"Last active timestamp","format":"date-time","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Computer name","type":"string"},"region":{"description":"Region","type":"string"},"sprite_url":{"description":"Sprite URL","type":"string"},"status":{"description":"Computer status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"},"422":{"description":"Validation failed"}},"summary":"Provision a new computer for an agent (server-to-server API)"}},"/api/v2/agents/{agent}/agent_installations":{"get":{"operationId":"get_api_v2_agents__agent_agent_installations","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"}},"summary":"List installations for an agent (server-to-server API)"},"post":{"operationId":"post_api_v2_agents__agent_agent_installations","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID","type":"string"},"config":{"description":"Optional configuration","type":"object"},"kind":{"description":"Installation kind (gmail, outlook, github, scrape/site)","type":"string"}},"required":["agent","kind"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an installation.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"config":{"description":"Configuration","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Installation ID (cin_...)","type":"string"},"kind":{"description":"Installation kind","type":"string"},"state":{"description":"Installation state","type":"string"},"status_payload":{"description":"Status payload","type":"object"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"},"422":{"description":"Validation failed"}},"summary":"Create an installation for an agent (server-to-server API)"}},"/api/v2/agents/{agent}/agent_installations/kinds":{"get":{"operationId":"get_api_v2_agents__agent_agent_installations_kinds","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"}},"summary":"List available installation kinds (server-to-server API)"}},"/api/v2/agents/{agent}/agent_routines":{"post":{"operationId":"post_api_v2_agents__agent_agent_routines","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID","type":"string"},"config":{"description":"Config ID (for workflow_graph handler)","type":"string"},"description":{"description":"Description","type":"string"},"event_config":{"description":"Event config map: event types as keys, filter maps as values","type":"object"},"event_type":{"description":"Event type (deprecated, use event_config)","type":"string"},"handler_type":{"description":"Handler type: workflow_graph, script, or preset","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Routine name","type":"string"},"preset_config":{"description":"Preset config","type":"object"},"preset_name":{"description":"Preset name (for preset handler)","type":"string"},"schedule":{"description":"Cron expression for scheduled routines","type":"string"},"script":{"description":"Script content (for script handler)","type":"string"},"status":{"description":"Initial status: draft or active (default: draft)","type":"string"}},"required":["agent","handler_type","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an agent routine.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"config_id":{"description":"Config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Routine description","type":"string"},"event_config":{"description":"Event configuration","type":"object"},"event_type":{"description":"Event type","type":"string"},"handler_type":{"description":"Handler type","type":"string"},"id":{"description":"Routine ID (arn_...)","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Routine name","type":"string"},"preset_config":{"description":"Preset configuration","type":"object"},"preset_name":{"description":"Preset name","type":"string"},"schedule":{"description":"Schedule expression","type":"string"},"script":{"description":"Script content","type":"string"},"status":{"description":"Routine status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"},"422":{"description":"Validation failed"}},"summary":"Create a routine for an agent (server-to-server API)"}},"/api/v2/agents/{agent}/agent_tools":{"get":{"operationId":"get_api_v2_agents__agent_agent_tools","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"}},"summary":"List tools for an agent (server-to-server API)"},"post":{"operationId":"post_api_v2_agents__agent_agent_tools","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID","type":"string"},"builtin_tool_config":{"description":"Built-in tool config","type":"object"},"builtin_tool_key":{"description":"Built-in tool key (for builtin kind)","type":"string"},"config":{"description":"Config ID (for custom kind)","type":"string"},"description":{"description":"Tool description (for custom kind)","type":"string"},"handler_type":{"description":"Handler type: script or workflow_graph (for custom kind)","type":"string"},"kind":{"description":"Tool kind: builtin or custom","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Tool name (for custom kind)","type":"string"},"parameters":{"description":"JSON schema for parameters (for custom kind)","type":"object"}},"required":["agent","kind"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an agent tool.","properties":{"agent_id":{"description":"Owning agent ID","type":"string"},"app_id":{"description":"Application ID","type":"string"},"builtin_tool_config":{"description":"Builtin tool configuration","type":"object"},"builtin_tool_key":{"description":"Builtin tool key","type":"string"},"config_id":{"description":"Config ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Tool description","type":"string"},"handler_type":{"description":"Handler type","type":"string"},"id":{"description":"Tool ID (atl_...)","type":"string"},"instruction":{"description":"Tool instruction","type":"string"},"kind":{"description":"Tool kind","type":"string"},"lookup_key":{"description":"Unique lookup key","type":"string"},"metadata":{"description":"Arbitrary metadata","type":"object"},"name":{"description":"Tool name","type":"string"},"parameters":{"description":"Tool parameters","type":"object"},"parameters_config_id":{"description":"Parameters config ID","type":"string"},"status":{"description":"Tool status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"},"422":{"description":"Validation failed"}},"summary":"Create a tool for an agent (server-to-server API)"}},"/api/v2/agents/{agent}/agent_working_memory":{"get":{"operationId":"get_api_v2_agents__agent_agent_working_memory","parameters":[{"description":"Agent ID","in":"path","name":"agent","required":true,"schema":{"type":"string"}},{"description":"Filter by key (ilike match)","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Page number (default 1)","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Results per page (default 25)","in":"query","name":"page_size","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Agent not found"}},"summary":"List working memory entries for an agent (server-to-server API)"}},"/api/v2/teams":{"get":{"operationId":"get_api_v2_teams","parameters":[{"description":"Filter teams by agent member IDs (S2S only)","in":"query","name":"member_agent","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of teams","properties":{"data":{"description":"The teams","items":{"description":"API schema for a team.","properties":{"badges":{"description":"Badge counts by category","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Team description","type":"string"},"id":{"description":"Team ID","type":"string"},"metadata":{"description":"Team metadata","type":"object"},"name":{"description":"Team name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"}},"summary":"List teams for the authenticated user or app (S2S)"},"post":{"operationId":"post_api_v2_teams","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"team":{"description":"Team attributes","properties":{"description":{"description":"Team description","type":"string"},"metadata":{"description":"Arbitrary key-value metadata","type":"object"},"name":{"description":"Team name","type":"string"}},"required":["name"],"type":"object"}},"required":["team"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a team.","properties":{"badges":{"description":"Badge counts by category","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Team description","type":"string"},"id":{"description":"Team ID","type":"string"},"metadata":{"description":"Team metadata","type":"object"},"name":{"description":"Team name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"422":{"description":"Validation failed"}},"summary":"Create a new team"}},"/api/v2/teams/join":{"post":{"operationId":"post_api_v2_teams_join","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Optional agent ID — when provided, adds the agent to the team instead of the user","type":"string"},"invite_code":{"description":"12-character invite code (alias for join_code)","type":"string"},"join_code":{"description":"12-character invite code","type":"string"},"user":{"description":"User ID to join (required for S2S requests without agent_id)","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a team.","properties":{"badges":{"description":"Badge counts by category","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Team description","type":"string"},"id":{"description":"Team ID","type":"string"},"metadata":{"description":"Team metadata","type":"object"},"name":{"description":"Team name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"400":{"description":"Invalid join code format"},"401":{"description":"Unauthorized"},"404":{"description":"Invalid or expired join code"},"429":{"description":"Too many requests"}},"summary":"Join a team using an invite code"}},"/api/v2/teams/{team}":{"get":{"operationId":"get_api_v2_teams__team","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a team.","properties":{"badges":{"description":"Badge counts by category","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Team description","type":"string"},"id":{"description":"Team ID","type":"string"},"metadata":{"description":"Team metadata","type":"object"},"name":{"description":"Team name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found"}},"summary":"Show a team with members and badges"},"put":{"operationId":"put_api_v2_teams__team","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Team description","type":"string"},"metadata":{"description":"Arbitrary key-value metadata","type":"object"},"name":{"description":"Team name","type":"string"},"profile_picture":{"description":"Base64-encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"team":{"description":"Team ID","type":"string"}},"required":["team"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a team.","properties":{"badges":{"description":"Badge counts by category","type":"object"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Team description","type":"string"},"id":{"description":"Team ID","type":"string"},"metadata":{"description":"Team metadata","type":"object"},"name":{"description":"Team name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Team not found"},"422":{"description":"Validation failed"}},"summary":"Update a team"}},"/api/v2/teams/{team}/artifacts":{"get":{"operationId":"get_api_v2_teams__team_artifacts","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of artifacts","properties":{"data":{"description":"The artifacts","items":{"description":"API schema for an artifact.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version_id":{"description":"Current version ID","type":"string"},"description":{"description":"Artifact description","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"name":{"description":"Artifact name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"version":{"description":"Current version number","type":"integer"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found"}},"summary":"List artifacts for a team"},"post":{"operationId":"post_api_v2_teams__team_artifacts","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"artifact":{"description":"Artifact attributes","type":"object"}},"required":["artifact"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an artifact.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version_id":{"description":"Current version ID","type":"string"},"description":{"description":"Artifact description","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"name":{"description":"Artifact name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"version":{"description":"Current version number","type":"integer"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"}},"summary":"Create a new artifact with associated file"}},"/api/v2/teams/{team}/custom_objects":{"get":{"operationId":"get_api_v2_teams__team_custom_objects","parameters":[{"description":"Filter by row_key","in":"query","name":"row_key","required":false,"schema":{"type":"string"}},{"description":"Filter by sort_key","in":"query","name":"sort_key","required":false,"schema":{"type":"string"}},{"description":"Maximum number of results","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"Object schema type (lookup_key)","in":"query","name":"type","required":true,"schema":{"type":"string"}},{"description":"Offset for pagination","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of custom objects","properties":{"data":{"description":"The objects","items":{"description":"API schema for a custom object.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"fields":{"description":"Object field values","type":"object"},"id":{"description":"Public ID (cobj_...)","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"type":{"description":"Schema type (lookup_key)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"version":{"description":"Aggregate version for OCC","type":"integer"}},"required":["id"],"type":"object"},"type":"array"},"meta":{"description":"Pagination metadata","type":"object"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found or schema type not found"}},"summary":"List custom objects for a team by schema type"},"post":{"operationId":"post_api_v2_teams__team_custom_objects","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"fields":{"description":"Object field values","type":"object"},"team":{"description":"Team ID","type":"string"},"type":{"description":"Object schema type (lookup_key)","type":"string"}},"required":["fields","team","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a custom object.","properties":{"created_at":{"description":"Created timestamp","format":"date-time","type":"string"},"fields":{"description":"Object field values","type":"object"},"id":{"description":"Public ID (cobj_...)","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"type":{"description":"Schema type (lookup_key)","type":"string"},"updated_at":{"description":"Updated timestamp","format":"date-time","type":"string"},"version":{"description":"Aggregate version for OCC","type":"integer"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found or schema type not found"},"422":{"description":"Validation error"}},"summary":"Create a custom object for a team"}},"/api/v2/teams/{team}/invite":{"post":{"operationId":"post_api_v2_teams__team_invite","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"team":{"description":"Team ID","type":"string"}},"required":["team"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"Schema for a team invite response.","properties":{"code":{"description":"6-character invite code","type":"string"}},"required":["code"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Team not found"}},"summary":"Create an invite code for a team"}},"/api/v2/teams/{team}/invites":{"post":{"operationId":"post_api_v2_teams__team_invites","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"team":{"description":"Team ID","type":"string"}},"required":["team"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"The invite","properties":{"code":{"description":"6-character join code","type":"string"}},"required":["code"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found"}},"summary":"Create an invite code for a team (server-to-server API)"}},"/api/v2/teams/{team}/members":{"get":{"operationId":"get_api_v2_teams__team_members","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of team members","properties":{"data":{"description":"The members","items":{"description":"Schema for a team member.","properties":{"alias":{"description":"User alias","type":"string"},"email":{"description":"User email","type":"string"},"full_name":{"description":"User full name","type":"string"},"id":{"description":"Public user ID","type":"string"},"role":{"description":"Role in the team (owner, admin, member)","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found"}},"summary":"List members of a team (users and agents)"},"post":{"operationId":"post_api_v2_teams__team_members","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID (provide exactly one of user_id or agent_id)","type":"string"},"role":{"description":"Member role (default: member)","type":"string"},"team":{"description":"Team ID","type":"string"},"user":{"description":"User ID (provide exactly one of user_id or agent_id)","type":"string"}},"required":["team"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"The added member","properties":{"data":{"description":"The membership","properties":{"id":{"description":"Membership ID","type":"string"},"joined_at":{"description":"When the member joined","type":"string"},"role":{"description":"Role in the team","type":"string"},"type":{"description":"Member type (user or agent)","type":"string"}},"required":["id","role","type"],"type":"object"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team or member not found"},"422":{"description":"Validation failed"}},"summary":"Add a user or agent member to a team (server-to-server API)"}},"/api/v2/teams/{team}/threads":{"get":{"operationId":"get_api_v2_teams__team_threads","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of threads response","properties":{"data":{"description":"The threads","items":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found"}},"summary":"List threads for a team"},"post":{"operationId":"post_api_v2_teams__team_threads","parameters":[{"description":"Team ID","in":"path","name":"team","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"skip_welcome_message":{"description":"Skip automatic welcome message","type":"boolean"},"team":{"description":"Team ID","type":"string"},"thread":{"description":"Thread attributes","properties":{"create_legacy_agent":{"description":"Create a legacy chat agent for this thread","type":"boolean"},"description":{"description":"Thread description","type":"string"},"is_unlisted":{"description":"Whether the thread is unlisted","type":"boolean"},"key":{"description":"Unique key for the thread","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"profile_picture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"settings":{"description":"Thread settings","type":"object"},"title":{"description":"Thread title","type":"string"}},"type":"object"}},"required":["team","thread"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Team not found"},"422":{"description":"Validation failed"}},"summary":"Create a thread for a team.\n\nHandles all three auth surfaces (user JWT, S2S, developer portal).\nLoads the team with `on_privacy_violation: :redact` — `Team.can_view`\nhandles access control for all viewer types uniformly.\n"}},"/api/v2/threads/{thread}":{"delete":{"operationId":"delete_api_v2_threads__thread","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"Delete a thread"},"get":{"operationId":"get_api_v2_threads__thread","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"Show a thread"},"put":{"operationId":"put_api_v2_threads__thread","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Thread description","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"profile_picture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"thread":{"description":"Thread ID","type":"string"},"title":{"description":"Thread title","type":"string"}},"required":["thread"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"},"422":{"description":"Validation failed"}},"summary":"Update a thread"}},"/api/v2/threads/{thread}/agents":{"get":{"operationId":"get_api_v2_threads__thread_agents","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of agents","properties":{"data":{"description":"The agents","items":{"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"List agents in a thread"}},"/api/v2/threads/{thread}/artifacts":{"get":{"operationId":"get_api_v2_threads__thread_artifacts","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of thread artifacts","properties":{"data":{"description":"The artifacts","items":{"description":"API schema for an artifact.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version_id":{"description":"Current version ID","type":"string"},"description":{"description":"Artifact description","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"name":{"description":"Artifact name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"version":{"description":"Current version number","type":"integer"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"List artifacts for a thread"}},"/api/v2/threads/{thread}/mark_read":{"post":{"operationId":"post_api_v2_threads__thread_mark_read","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"last_read_message":{"description":"The message ID to mark as the last read","type":"string"},"thread":{"description":"Thread ID","type":"string"},"use_latest_message":{"description":"If true, uses the latest message in the thread","type":"boolean"},"user":{"description":"User ID to mark as read for (required for S2S)","type":"string"}},"required":["thread"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Thread not found"},"422":{"description":"Validation error"}},"summary":"Mark a thread as read"}},"/api/v2/threads/{thread}/members":{"delete":{"operationId":"delete_api_v2_threads__thread_members","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Thread or member not found"},"422":{"description":"Failed to remove member"}},"summary":"Remove a member from a thread"},"get":{"operationId":"get_api_v2_threads__thread_members","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of thread members","properties":{"data":{"description":"The members","items":{"description":"API schema for a thread member.","properties":{"membership_type":{"description":"Membership type (owner or member)","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"user":{"description":"User details (when loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"User ID","type":"string"}},"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"List members for a thread"},"post":{"operationId":"post_api_v2_threads__thread_members","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent":{"description":"Agent ID (required when type is \"agent\")","type":"string"},"membership_type":{"description":"Membership type: \"owner\" or \"member\" (defaults to \"member\")","type":"string"},"thread":{"description":"Thread ID","type":"string"},"type":{"description":"Member type: \"user\" or \"agent\"","type":"string"},"user":{"description":"User ID (required when type is \"user\")","type":"string"}},"required":["thread","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a thread member.","properties":{"membership_type":{"description":"Membership type (owner or member)","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"user":{"description":"User details (when loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"User ID","type":"string"}},"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"404":{"description":"Thread not found"},"422":{"description":"Failed to add member"}},"summary":"Add a member to a thread"}},"/api/v2/threads/{thread}/messages":{"get":{"operationId":"get_api_v2_threads__thread_messages","parameters":[{"description":"Cursor for fetching items after this point","in":"query","name":"after_cursor","required":false,"schema":{"type":"string"}},{"description":"Cursor for fetching items before this point","in":"query","name":"before_cursor","required":false,"schema":{"type":"string"}},{"description":"Maximum number of items to return (default 20)","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}},{"description":"Whether to include reply counts (default false)","in":"query","name":"include_reply_counts","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Paginated list of messages","properties":{"data":{"description":"Message data wrapper","properties":{"after_cursor":{"description":"Cursor for fetching items after this point","type":"string"},"before_cursor":{"description":"Cursor for fetching items before this point","type":"string"},"messages":{"description":"List of message objects","items":{"type":"object"},"type":"array"}},"required":["messages"],"type":"object"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"List messages in a thread"}},"/api/v2/threads/{thread}/picture":{"put":{"operationId":"put_api_v2_threads__thread_picture","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"picture":{"description":"Picture data to upload","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"required":["data","filename","mime_type"],"type":"object"},"thread":{"description":"Thread ID","type":"string"}},"required":["picture","thread"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"},"422":{"description":"Invalid base64 data"}},"summary":"Update a thread's profile picture"}},"/api/v2/threads/{thread}/read_status":{"get":{"operationId":"get_api_v2_threads__thread_read_status","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}},{"description":"User ID to check read status for (required for S2S)","in":"query","name":"user","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Schema for thread read status response.","properties":{"last_read_message_id":{"description":"Last read message ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"unread_count":{"description":"Number of unread messages","type":"integer"}},"required":["thread_id","unread_count"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"Get read status for a thread"}},"/api/v2/threads/{thread}/search":{"get":{"operationId":"get_api_v2_threads__thread_search","parameters":[{"description":"Filter by context source type (e.g. thread/messages)","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"Search query","in":"query","name":"q","required":true,"schema":{"type":"string"}},{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Search results","properties":{"data":{"description":"Matching context items (tagged objects)","items":{"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"Search context items within a thread"}},"/api/v2/threads/{thread}/settings":{"get":{"operationId":"get_api_v2_threads__thread_settings","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"The settings object","properties":{"agent_enabled":{"description":"Whether the agent is enabled for this thread","type":"boolean"}},"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"}},"summary":"Get thread settings"},"put":{"operationId":"put_api_v2_threads__thread_settings","parameters":[{"description":"Thread ID","in":"path","name":"thread","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"settings":{"description":"Settings to update","type":"object"},"thread":{"description":"Thread ID","type":"string"}},"required":["settings","thread"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"Schema for thread settings response.\n\nUsed by thread settings show/update endpoints.","properties":{"agent_enabled":{"description":"Whether the agent is enabled for this thread","type":"boolean"}},"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Thread not found"},"422":{"description":"Validation error"}},"summary":"Update thread settings"}},"/api/v2/users/me":{"get":{"operationId":"get_api_v2_users_me","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a user.","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"}},"summary":"Show the current authenticated user"}},"/api/v2/users/{user}":{"get":{"operationId":"get_api_v2_users__user","parameters":[{"description":"User ID","in":"path","name":"user","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a user.","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"summary":"Show a specific user by ID (must share a team with the current user)"}},"/api/v2/users/{user}/artifacts":{"get":{"operationId":"get_api_v2_users__user_artifacts","parameters":[{"description":"User ID","in":"path","name":"user","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of artifacts","properties":{"data":{"description":"The artifacts","items":{"description":"API schema for an artifact.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version_id":{"description":"Current version ID","type":"string"},"description":{"description":"Artifact description","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"name":{"description":"Artifact name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"version":{"description":"Current version number","type":"integer"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"summary":"List artifacts for a user"},"post":{"operationId":"post_api_v2_users__user_artifacts","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"artifact":{"description":"Artifact attributes","type":"object"}},"required":["artifact"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for an artifact.","properties":{"agent_id":{"description":"Agent ID","type":"string"},"content_type":{"description":"MIME content type","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"current_version_id":{"description":"Current version ID","type":"string"},"description":{"description":"Artifact description","type":"string"},"file_id":{"description":"Storage file ID","type":"string"},"file_name":{"description":"Original filename","type":"string"},"file_url":{"description":"Signed file URL","type":"string"},"id":{"description":"Artifact ID","type":"string"},"image_source":{"description":"Image source metadata","type":"object"},"name":{"description":"Artifact name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Thread ID","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"User ID","type":"string"},"version":{"description":"Current version number","type":"integer"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"}},"summary":"Create a new artifact with associated file"}},"/api/v2/users/{user}/orgs":{"get":{"operationId":"get_api_v2_users__user_orgs","parameters":[{"description":"User ID","in":"path","name":"user","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Current user's organizations","properties":{"data":{"description":"Organization list","items":{"description":"API schema for an organization.","properties":{"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"description":{"description":"Description","type":"string"},"domain":{"description":"Domain","type":"string"},"id":{"description":"Organization ID (org_...)","type":"string"},"industry":{"description":"Industry","type":"string"},"name":{"description":"Organization name","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"},"slug":{"description":"URL slug","type":"string"},"status":{"description":"Status","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"website":{"description":"Website URL","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"}},"summary":"List organizations for the current user (0 or 1)."}},"/api/v2/users/{user}/profile":{"put":{"operationId":"put_api_v2_users__user_profile","parameters":[{"description":"User ID","in":"path","name":"user","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Display alias","type":"string"},"full_name":{"description":"Full name","type":"string"},"metadata":{"description":"User metadata","type":"object"},"profile_picture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"user":{"description":"User ID","type":"string"}},"required":["user"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a user.","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"summary":"Update the current user's profile (name, alias, profile picture)"}},"/api/v2/users/{user}/threads":{"get":{"operationId":"get_api_v2_users__user_threads","parameters":[{"description":"Array of metadata filter objects","in":"query","name":"filter","required":false,"schema":{"items":{"description":"Filter object for matching thread metadata.","properties":{"key":{"description":"Metadata key to match","type":"string"},"type":{"description":"Filter type (must be \"metadata\")","type":"string"},"value":{"description":"Metadata value to match","type":"string"}},"required":["key","type","value"],"type":"object"},"type":"array"}},{"description":"User ID","in":"path","name":"user","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"List of threads response","properties":{"data":{"description":"The threads","items":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"},"type":"array"}},"required":["data"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"summary":"List threads for a user"},"post":{"operationId":"post_api_v2_users__user_threads","parameters":[{"description":"User ID","in":"path","name":"user","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"skip_welcome_message":{"description":"Skip automatic welcome message","type":"boolean"},"thread":{"description":"Thread attributes","properties":{"create_legacy_agent":{"description":"Create a legacy chat agent for this thread","type":"boolean"},"description":{"description":"Thread description","type":"string"},"is_unlisted":{"description":"Whether the thread is unlisted","type":"boolean"},"key":{"description":"Unique key for the thread","type":"string"},"metadata":{"description":"Additional metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"profile_picture":{"description":"Base64 encoded profile picture","properties":{"data":{"description":"Base64 encoded image data","type":"string"},"filename":{"description":"Original filename","type":"string"},"mime_type":{"description":"MIME type of the image","type":"string"}},"type":"object"},"settings":{"description":"Thread settings","type":"object"},"title":{"description":"Thread title","type":"string"}},"type":"object"},"user":{"description":"User ID","type":"string"}},"required":["thread","user"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for a chat thread.","properties":{"agent_user_id":{"description":"Owning agent user ID","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"creator":{"description":"Creator user object","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"creator_id":{"description":"Creator user ID","type":"string"},"description":{"description":"Thread description","type":"string"},"id":{"description":"Thread ID (thr_...)","type":"string"},"is_channel":{"description":"Whether this is a channel","type":"boolean"},"is_default":{"description":"Whether this is the default thread","type":"boolean"},"is_transient":{"description":"Whether this thread is transient","type":"boolean"},"is_unlisted":{"description":"Whether this thread is unlisted","type":"boolean"},"key":{"description":"Thread key","type":"string"},"last_activity":{"description":"Last activity timestamp","format":"date-time","type":"string"},"metadata":{"description":"Thread metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"parent_message":{"description":"Parent message object","properties":{"actors":{"description":"Message actors","items":{"type":"object"},"type":"array"},"agent_id":{"description":"Agent user ID if sent by an agent user","type":"string"},"attachments":{"description":"Message attachments","items":{"type":"object"},"type":"array"},"branched_thread_id":{"description":"Branched thread ID (if message spawned a thread)","type":"string"},"content":{"description":"Message content","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"has_replies":{"description":"Whether message has replies","type":"boolean"},"id":{"description":"Message ID (msg_...)","type":"string"},"idempotency_key":{"description":"Client-provided idempotency key","type":"string"},"legacy_agent_id":{"description":"Legacy agent ID if sent by legacy chat agent","type":"string"},"metadata":{"description":"Message metadata","type":"object"},"org_id":{"description":"Organization ID","type":"string"},"reactions":{"description":"Message reactions","items":{"type":"object"},"type":"array"},"rendering_mode":{"description":"Rendering mode hint","type":"string"},"replies":{"description":"Inline replies (if loaded)","items":{"type":"object"},"type":"array"},"replies_after_cursor":{"description":"Cursor for replies pagination","type":"string"},"replies_before_cursor":{"description":"Cursor for replies pagination","type":"string"},"reply_count":{"description":"Number of replies","type":"integer"},"reply_to":{"description":"Parent message object (if loaded)","type":"object"},"reply_to_id":{"description":"Parent message ID for replies","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"team_id":{"description":"Team ID","type":"string"},"thread_id":{"description":"Parent thread ID","type":"string"},"user":{"description":"Author user object (if loaded)","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"},"user_id":{"description":"Author user ID","type":"string"}},"required":["id"],"type":"object"},"parent_message_id":{"description":"Parent message ID","type":"string"},"participant_ids":{"description":"Participant user IDs","items":{"type":"string"},"type":"array"},"participants":{"description":"Participant user objects","items":{"type":"object"},"type":"array"},"participating_actor_ids":{"description":"Actor IDs participating in thread","items":{"type":"string"},"type":"array"},"participating_agents":{"description":"Agents participating in thread","items":{"type":"object"},"type":"array"},"role":{"description":"User's role in the thread","type":"string"},"sandbox_id":{"description":"Sandbox identifier","type":"string"},"settings":{"description":"Thread settings","type":"object"},"slug":{"description":"Thread slug","type":"string"},"sub_threads":{"description":"Sub-threads","items":{"type":"object"},"type":"array"},"team_id":{"description":"Owning team ID","type":"string"},"title":{"description":"Thread title","type":"string"},"ttl":{"description":"Time-to-live in seconds","type":"integer"},"unread_count":{"description":"Unread message count","type":"integer"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"},"user_id":{"description":"Owning user ID","type":"string"}},"required":["id"],"type":"object"}}},"description":"Successful response"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"422":{"description":"Validation failed"}},"summary":"Create a thread for a user"}},"/oauth/device/approve":{"post":{"operationId":"post_oauth_device_approve","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"thread":{"description":"Thread ID to bind to the authorization","type":"string"},"user_code":{"description":"Device authorization user code","type":"string"}},"required":["user_code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}},"summary":"Approve a pending OAuth device authorization"}},"/oauth/device/authorize":{"post":{"operationId":"post_oauth_device_authorize","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"client":{"description":"OAuth client ID","type":"string"},"scope":{"description":"Space-separated list of requested scopes","type":"string"}},"required":["client"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for OAuth device authorization responses.","properties":{"device_code":{"description":"Device verification code","type":"string"},"expires_in":{"description":"TTL in seconds","type":"integer"},"interval":{"description":"Polling interval in seconds","type":"integer"},"user_code":{"description":"User-facing verification code","type":"string"},"verification_uri":{"description":"Base verification URI","type":"string"},"verification_uri_complete":{"description":"Full verification URI with code","type":"string"}},"required":["device_code","expires_in","interval","user_code","verification_uri","verification_uri_complete"],"type":"object"}}},"description":"Successful response"},"400":{"description":"Bad request"},"403":{"description":"Forbidden"},"429":{"description":"Rate limited"}},"summary":"Initiate OAuth device authorization flow"}},"/oauth/device/deny":{"post":{"operationId":"post_oauth_device_deny","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"user_code":{"description":"Device authorization user code","type":"string"}},"required":["user_code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}},"summary":"Deny a pending OAuth device authorization"}},"/oauth/scopes":{"get":{"operationId":"get_oauth_scopes","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"description":"OAuth scope definitions","properties":{"scopes":{"description":"Map of scope name to scope definition","type":"object"}},"required":["scopes"],"type":"object"}}},"description":"Successful response"}},"summary":"List available OAuth scopes"}},"/oauth/token":{"post":{"operationId":"post_oauth_token","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"client":{"description":"OAuth client ID","type":"string"},"code":{"description":"Authorization code (for authorization_code grant)","type":"string"},"code_verifier":{"description":"PKCE code verifier (for authorization_code grant)","type":"string"},"device_code":{"description":"Device code (for device_code grant)","type":"string"},"grant_type":{"description":"OAuth grant type","type":"string"},"redirect_uri":{"description":"Redirect URI (for authorization_code grant)","type":"string"},"refresh_token":{"description":"Refresh token (for refresh_token grant)","type":"string"}},"required":["grant_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"API schema for OAuth token endpoint responses.","properties":{"access_token":{"description":"OAuth access token","type":"string"},"expires_in":{"description":"Token TTL in seconds","type":"integer"},"refresh_token":{"description":"OAuth refresh token","type":"string"},"scope":{"description":"Granted scopes (space-separated)","type":"string"},"token_type":{"description":"Token type (Bearer)","type":"string"},"user":{"description":"Authenticated user","properties":{"alias":{"description":"User alias/handle","type":"string"},"email":{"description":"User email address","type":"string"},"id":{"description":"User ID","type":"string"},"metadata":{"description":"User metadata","type":"object"},"name":{"description":"User display name","type":"string"},"org_id":{"description":"Organization ID","type":"string"},"sandbox_id":{"description":"Sandbox ID","type":"string"}},"required":["id"],"type":"object"}},"required":["access_token","expires_in","token_type"],"type":"object"}}},"description":"Successful response"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"429":{"description":"Rate limited"}},"summary":"Exchange authorization code, refresh token, or device code for OAuth tokens"}}},"x-archastro-docs-scope":"external","x-channels":[{"description":"Channel for real-time custom object collaboration.\n\nClients join `api:object:{object_id}` to receive the current object state\nand subscribe to field-level updates. Mutations are sent as key:value maps.","joins":[{"description":null,"params":{"properties":{"object_id":{"type":"string"}},"required":["object_id"],"type":"object"},"pattern":"api:object:{object_id}","returns":{"type":"object"}},{"description":null,"params":{"properties":{"row_key":{"type":"string"},"schema_type":{"type":"string"}},"required":["row_key","schema_type"],"type":"object"},"pattern":"api:object:{schema_type}:{row_key}","returns":{"type":"object"}}],"messages":[{"description":null,"event":"save","params":{"properties":{},"type":"object"},"returns":{"type":"object"}},{"description":null,"event":"update_fields","params":{"properties":{"fields":{"type":"object"}},"required":["fields"],"type":"object"},"returns":{"type":"object"}}],"name":"ApiObjectChannel","pushes":[{"description":null,"event":"object_created","payload":{"properties":{"fields":{"type":"object"},"id":{"type":"string"}},"type":"object"}},{"description":null,"event":"object_updated","payload":{"properties":{"fields":{"type":"object"},"id":{"type":"string"}},"type":"object"}}]}]}