{
  "tools": [
    {
      "name": "addMeetingParticipant",
      "description": "Add meeting participant",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "email": {
            "type": "string",
            "example": "john.doe@example.com"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "name": {
            "type": "string",
            "example": "John Doe"
          },
          "role": {
            "type": "string",
            "enum": [
              "EDITOR",
              "VIEWER"
            ],
            "example": "EDITOR"
          }
        },
        "required": [
          "email",
          "id",
          "name",
          "role"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings/{id}/participants"
      }
    },
    {
      "name": "addTemplateNextStep",
      "description": "Add next step to template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "autopilot": {
            "type": "boolean",
            "example": false
          },
          "next_step_id": {
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "sort_order": {
            "type": "integer",
            "example": 1
          },
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "next_step_id",
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/templates/{templateId}/next-steps"
      }
    },
    {
      "name": "adminCreateToolkit",
      "description": "Create a toolkit",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "description": {
            "type": "string",
            "example": "Complete sales workflow toolkit"
          },
          "dry_run": {
            "type": "boolean",
            "description": "DryRun validates the manifest without creating the toolkit"
          },
          "manifest": {
            "type": "object",
            "properties": {
              "action_buttons": {
                "type": "array",
                "description": "Action buttons included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing action button (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new action button to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-action-button"
                        },
                        "content_format": {
                          "type": "string",
                          "description": "Content format: rich_text, markdown, plain_text, html",
                          "enum": [
                            "rich_text",
                            "markdown",
                            "plain_text",
                            "html"
                          ],
                          "example": "plain_text"
                        },
                        "delivery_mechanism": {
                          "type": "string",
                          "description": "Delivery mechanism: clipboard, email, os_email_client, file_download, integration, webhook, redirect",
                          "enum": [
                            "clipboard",
                            "email",
                            "os_email_client",
                            "file_download",
                            "integration",
                            "webhook",
                            "redirect"
                          ],
                          "example": "webhook"
                        },
                        "file_format": {
                          "type": "string",
                          "description": "File format for file delivery",
                          "example": "pdf"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name from the vocabulary",
                          "example": "share"
                        },
                        "integration_type": {
                          "type": "string",
                          "description": "Integration type",
                          "example": "salesforce"
                        },
                        "is_default_for_next_step": {
                          "type": "boolean",
                          "description": "Whether this is the default action for a next step",
                          "example": false
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the action button",
                          "example": "Send to CRM"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect delivery",
                          "example": "https://app.example.com/action"
                        },
                        "requires_connected_integration": {
                          "type": "boolean",
                          "description": "Whether this action requires a connected integration",
                          "example": false
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "webhook_url": {
                          "type": "string",
                          "description": "Webhook URL for webhook delivery",
                          "example": "https://api.example.com/webhook"
                        }
                      },
                      "required": [
                        "content_format",
                        "delivery_mechanism",
                        "name"
                      ]
                    }
                  }
                }
              },
              "next_steps": {
                "type": "array",
                "description": "Next steps included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "action_buttons": {
                      "type": "array",
                      "description": "ActionButtons defines the action buttons to attach to this next step with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action_button": {
                            "type": "object",
                            "description": "ActionButton is the reference to the action button entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the action button within the next step",
                            "example": 1
                          }
                        },
                        "required": [
                          "action_button"
                        ]
                      }
                    },
                    "default_action_button": {
                      "type": "object",
                      "description": "DefaultActionButton specifies the default action button for this next step (by $ref or $id)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "ID references an existing entity by its database ID",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "$ref": {
                          "type": "string",
                          "description": "Ref references an entity defined in the same manifest via its $id value",
                          "example": "my-next-step"
                        }
                      }
                    },
                    "id": {
                      "type": "string",
                      "description": "ID references an existing next step (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new next step to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-next-step"
                        },
                        "ai_prompt": {
                          "type": "string",
                          "description": "AI prompt for AI-type next steps",
                          "example": "Generate an invoice..."
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#FF5733"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the next step",
                          "example": "Generates an invoice from meeting notes"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name for display",
                          "example": "receipt"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the next step",
                          "example": "Generate Invoice"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect-type next steps",
                          "example": "https://partner.example.com/invoice"
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of next step: \"ai\" or \"redirect\"",
                          "enum": [
                            "ai",
                            "redirect"
                          ],
                          "example": "ai"
                        }
                      },
                      "required": [
                        "name",
                        "type"
                      ]
                    }
                  }
                }
              },
              "shortcuts": {
                "type": "array",
                "description": "Shortcuts included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing shortcut (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new shortcut to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-shortcut"
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#4F46E5"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the shortcut",
                          "example": "Generates a concise meeting summary"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "IconName specifies which FontAwesome icon to display (e.g., \"faLightbulb\", \"faBolt\")",
                          "example": "faLightbulb"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the shortcut",
                          "example": "Summarize Meeting"
                        },
                        "prompt": {
                          "type": "string",
                          "description": "AI prompt template",
                          "example": "Summarize the key points discussed in this meeting."
                        },
                        "surfaces": {
                          "type": "array",
                          "description": "Surfaces defines which UI surfaces this shortcut should appear on",
                          "items": {
                            "type": "object",
                            "properties": {
                              "position": {
                                "type": "integer",
                                "description": "Position on the surface (1-10)",
                                "example": 1
                              },
                              "surface": {
                                "type": "string",
                                "description": "Surface name (HOME, MEETING_PREPARE, MEETING_RUN, MEETING_REVIEW, CANVAS)",
                                "example": "HOME"
                              }
                            },
                            "required": [
                              "position",
                              "surface"
                            ]
                          }
                        }
                      },
                      "required": [
                        "name",
                        "prompt"
                      ]
                    }
                  }
                }
              },
              "templates": {
                "type": "array",
                "description": "Templates included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing template (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "next_steps": {
                      "type": "array",
                      "description": "NextSteps defines the next steps to attach to this template with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "autopilot": {
                            "type": "boolean",
                            "description": "Autopilot indicates if the next step should auto-execute when the meeting is finalized",
                            "example": false
                          },
                          "next_step": {
                            "type": "object",
                            "description": "NextStep is the reference to the next step entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the next step within the template",
                            "example": 1
                          }
                        },
                        "required": [
                          "next_step"
                        ]
                      }
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new template to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-template"
                        },
                        "agenda_items": {
                          "type": "array",
                          "description": "AgendaItems defines the template's agenda items",
                          "items": {
                            "type": "object",
                            "properties": {
                              "content": {
                                "type": "string",
                                "description": "Content is the rich text body content (markdown) for DISCUSSION-type items"
                              },
                              "description": {
                                "type": "string",
                                "description": "Description is an optional short description/subtitle",
                                "example": "Review current quarter pipeline status"
                              },
                              "item_type": {
                                "type": "string",
                                "description": "ItemType is the agenda item type (DISCUSSION, ACTION_ITEM_RECAP, BREAK, ADJOURN, etc.)",
                                "example": "DISCUSSION"
                              },
                              "restricted_to_leads": {
                                "type": "boolean",
                                "description": "RestrictedToLeads indicates whether only meeting leads can see this item",
                                "example": false
                              },
                              "sequence": {
                                "type": "string",
                                "description": "Sequence controls the display order",
                                "example": "1"
                              },
                              "time_allocation_minutes": {
                                "type": "number",
                                "description": "TimeAllocationMinutes is the suggested time allocation in minutes",
                                "example": 15
                              },
                              "title": {
                                "type": "string",
                                "description": "Title is the agenda item's title",
                                "example": "Pipeline Review"
                              }
                            },
                            "required": [
                              "item_type",
                              "title"
                            ]
                          }
                        },
                        "backing_meeting_id": {
                          "type": "string",
                          "description": "BackingMeetingID references an existing meeting to use as the content source for this template.\nMutually exclusive with inline content fields.",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the template",
                          "example": "Template for sales meetings"
                        },
                        "detail_level": {
                          "type": "string",
                          "description": "DetailLevel controls the granularity of meeting notes",
                          "enum": [
                            "BULLET_POINTS",
                            "STANDARD",
                            "VERBATIM"
                          ],
                          "example": "STANDARD"
                        },
                        "meeting_duration_seconds": {
                          "type": "integer",
                          "description": "MeetingDurationSeconds is the default meeting duration in seconds",
                          "example": 3600
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the template",
                          "example": "Sales Meeting Template"
                        },
                        "participants": {
                          "type": "array",
                          "description": "Participants defines the template's default participants",
                          "items": {
                            "type": "object",
                            "properties": {
                              "email": {
                                "type": "string",
                                "description": "Email is the participant's email address",
                                "example": "sarah@acme.com"
                              },
                              "name": {
                                "type": "string",
                                "description": "Name is the participant's display name",
                                "example": "Sarah Chen"
                              },
                              "role": {
                                "type": "string",
                                "description": "Role is the participant's meeting role (EDITOR or VIEWER)",
                                "enum": [
                                  "EDITOR",
                                  "VIEWER"
                                ],
                                "example": "EDITOR"
                              }
                            },
                            "required": [
                              "email",
                              "name",
                              "role"
                            ]
                          }
                        },
                        "start_time_offset_seconds": {
                          "type": "integer",
                          "description": "StartTimeOffsetSeconds is the default start time as seconds from UTC midnight (-1 means untimed)",
                          "example": 36000
                        },
                        "title": {
                          "type": "string",
                          "description": "--- Inline meeting content (portable) ---\nTitle is the meeting title for the template",
                          "example": "Weekly Sales Standup"
                        }
                      },
                      "required": [
                        "name"
                      ]
                    }
                  }
                }
              },
              "toolkit_prompt": {
                "type": "string",
                "description": "Default AI persona/behavioral instructions for the toolkit"
              }
            }
          },
          "name": {
            "type": "string",
            "example": "Sales Pipeline Toolkit"
          },
          "slug": {
            "type": "string",
            "example": "sales-pipeline"
          },
          "version": {
            "type": "string",
            "example": "1.0.0"
          }
        },
        "required": [
          "manifest",
          "name",
          "slug",
          "version"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/toolkits"
      }
    },
    {
      "name": "adminCreateToolkitVersion",
      "description": "Create a toolkit version",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "changelog": {
            "type": "string",
            "description": "Changelog describes the changes in this version",
            "example": "Added new action button for CRM sync"
          },
          "dry_run": {
            "type": "boolean",
            "description": "DryRun validates the manifest without creating the version"
          },
          "manifest": {
            "type": "object",
            "description": "Manifest is the toolkit manifest for this version",
            "properties": {
              "action_buttons": {
                "type": "array",
                "description": "Action buttons included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing action button (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new action button to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-action-button"
                        },
                        "content_format": {
                          "type": "string",
                          "description": "Content format: rich_text, markdown, plain_text, html",
                          "enum": [
                            "rich_text",
                            "markdown",
                            "plain_text",
                            "html"
                          ],
                          "example": "plain_text"
                        },
                        "delivery_mechanism": {
                          "type": "string",
                          "description": "Delivery mechanism: clipboard, email, os_email_client, file_download, integration, webhook, redirect",
                          "enum": [
                            "clipboard",
                            "email",
                            "os_email_client",
                            "file_download",
                            "integration",
                            "webhook",
                            "redirect"
                          ],
                          "example": "webhook"
                        },
                        "file_format": {
                          "type": "string",
                          "description": "File format for file delivery",
                          "example": "pdf"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name from the vocabulary",
                          "example": "share"
                        },
                        "integration_type": {
                          "type": "string",
                          "description": "Integration type",
                          "example": "salesforce"
                        },
                        "is_default_for_next_step": {
                          "type": "boolean",
                          "description": "Whether this is the default action for a next step",
                          "example": false
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the action button",
                          "example": "Send to CRM"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect delivery",
                          "example": "https://app.example.com/action"
                        },
                        "requires_connected_integration": {
                          "type": "boolean",
                          "description": "Whether this action requires a connected integration",
                          "example": false
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "webhook_url": {
                          "type": "string",
                          "description": "Webhook URL for webhook delivery",
                          "example": "https://api.example.com/webhook"
                        }
                      },
                      "required": [
                        "content_format",
                        "delivery_mechanism",
                        "name"
                      ]
                    }
                  }
                }
              },
              "next_steps": {
                "type": "array",
                "description": "Next steps included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "action_buttons": {
                      "type": "array",
                      "description": "ActionButtons defines the action buttons to attach to this next step with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action_button": {
                            "type": "object",
                            "description": "ActionButton is the reference to the action button entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the action button within the next step",
                            "example": 1
                          }
                        },
                        "required": [
                          "action_button"
                        ]
                      }
                    },
                    "default_action_button": {
                      "type": "object",
                      "description": "DefaultActionButton specifies the default action button for this next step (by $ref or $id)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "ID references an existing entity by its database ID",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "$ref": {
                          "type": "string",
                          "description": "Ref references an entity defined in the same manifest via its $id value",
                          "example": "my-next-step"
                        }
                      }
                    },
                    "id": {
                      "type": "string",
                      "description": "ID references an existing next step (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new next step to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-next-step"
                        },
                        "ai_prompt": {
                          "type": "string",
                          "description": "AI prompt for AI-type next steps",
                          "example": "Generate an invoice..."
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#FF5733"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the next step",
                          "example": "Generates an invoice from meeting notes"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name for display",
                          "example": "receipt"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the next step",
                          "example": "Generate Invoice"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect-type next steps",
                          "example": "https://partner.example.com/invoice"
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of next step: \"ai\" or \"redirect\"",
                          "enum": [
                            "ai",
                            "redirect"
                          ],
                          "example": "ai"
                        }
                      },
                      "required": [
                        "name",
                        "type"
                      ]
                    }
                  }
                }
              },
              "shortcuts": {
                "type": "array",
                "description": "Shortcuts included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing shortcut (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new shortcut to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-shortcut"
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#4F46E5"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the shortcut",
                          "example": "Generates a concise meeting summary"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "IconName specifies which FontAwesome icon to display (e.g., \"faLightbulb\", \"faBolt\")",
                          "example": "faLightbulb"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the shortcut",
                          "example": "Summarize Meeting"
                        },
                        "prompt": {
                          "type": "string",
                          "description": "AI prompt template",
                          "example": "Summarize the key points discussed in this meeting."
                        },
                        "surfaces": {
                          "type": "array",
                          "description": "Surfaces defines which UI surfaces this shortcut should appear on",
                          "items": {
                            "type": "object",
                            "properties": {
                              "position": {
                                "type": "integer",
                                "description": "Position on the surface (1-10)",
                                "example": 1
                              },
                              "surface": {
                                "type": "string",
                                "description": "Surface name (HOME, MEETING_PREPARE, MEETING_RUN, MEETING_REVIEW, CANVAS)",
                                "example": "HOME"
                              }
                            },
                            "required": [
                              "position",
                              "surface"
                            ]
                          }
                        }
                      },
                      "required": [
                        "name",
                        "prompt"
                      ]
                    }
                  }
                }
              },
              "templates": {
                "type": "array",
                "description": "Templates included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing template (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "next_steps": {
                      "type": "array",
                      "description": "NextSteps defines the next steps to attach to this template with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "autopilot": {
                            "type": "boolean",
                            "description": "Autopilot indicates if the next step should auto-execute when the meeting is finalized",
                            "example": false
                          },
                          "next_step": {
                            "type": "object",
                            "description": "NextStep is the reference to the next step entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the next step within the template",
                            "example": 1
                          }
                        },
                        "required": [
                          "next_step"
                        ]
                      }
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new template to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-template"
                        },
                        "agenda_items": {
                          "type": "array",
                          "description": "AgendaItems defines the template's agenda items",
                          "items": {
                            "type": "object",
                            "properties": {
                              "content": {
                                "type": "string",
                                "description": "Content is the rich text body content (markdown) for DISCUSSION-type items"
                              },
                              "description": {
                                "type": "string",
                                "description": "Description is an optional short description/subtitle",
                                "example": "Review current quarter pipeline status"
                              },
                              "item_type": {
                                "type": "string",
                                "description": "ItemType is the agenda item type (DISCUSSION, ACTION_ITEM_RECAP, BREAK, ADJOURN, etc.)",
                                "example": "DISCUSSION"
                              },
                              "restricted_to_leads": {
                                "type": "boolean",
                                "description": "RestrictedToLeads indicates whether only meeting leads can see this item",
                                "example": false
                              },
                              "sequence": {
                                "type": "string",
                                "description": "Sequence controls the display order",
                                "example": "1"
                              },
                              "time_allocation_minutes": {
                                "type": "number",
                                "description": "TimeAllocationMinutes is the suggested time allocation in minutes",
                                "example": 15
                              },
                              "title": {
                                "type": "string",
                                "description": "Title is the agenda item's title",
                                "example": "Pipeline Review"
                              }
                            },
                            "required": [
                              "item_type",
                              "title"
                            ]
                          }
                        },
                        "backing_meeting_id": {
                          "type": "string",
                          "description": "BackingMeetingID references an existing meeting to use as the content source for this template.\nMutually exclusive with inline content fields.",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the template",
                          "example": "Template for sales meetings"
                        },
                        "detail_level": {
                          "type": "string",
                          "description": "DetailLevel controls the granularity of meeting notes",
                          "enum": [
                            "BULLET_POINTS",
                            "STANDARD",
                            "VERBATIM"
                          ],
                          "example": "STANDARD"
                        },
                        "meeting_duration_seconds": {
                          "type": "integer",
                          "description": "MeetingDurationSeconds is the default meeting duration in seconds",
                          "example": 3600
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the template",
                          "example": "Sales Meeting Template"
                        },
                        "participants": {
                          "type": "array",
                          "description": "Participants defines the template's default participants",
                          "items": {
                            "type": "object",
                            "properties": {
                              "email": {
                                "type": "string",
                                "description": "Email is the participant's email address",
                                "example": "sarah@acme.com"
                              },
                              "name": {
                                "type": "string",
                                "description": "Name is the participant's display name",
                                "example": "Sarah Chen"
                              },
                              "role": {
                                "type": "string",
                                "description": "Role is the participant's meeting role (EDITOR or VIEWER)",
                                "enum": [
                                  "EDITOR",
                                  "VIEWER"
                                ],
                                "example": "EDITOR"
                              }
                            },
                            "required": [
                              "email",
                              "name",
                              "role"
                            ]
                          }
                        },
                        "start_time_offset_seconds": {
                          "type": "integer",
                          "description": "StartTimeOffsetSeconds is the default start time as seconds from UTC midnight (-1 means untimed)",
                          "example": 36000
                        },
                        "title": {
                          "type": "string",
                          "description": "--- Inline meeting content (portable) ---\nTitle is the meeting title for the template",
                          "example": "Weekly Sales Standup"
                        }
                      },
                      "required": [
                        "name"
                      ]
                    }
                  }
                }
              },
              "toolkit_prompt": {
                "type": "string",
                "description": "Default AI persona/behavioral instructions for the toolkit"
              }
            }
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "version_label": {
            "type": "string",
            "description": "VersionLabel is a human-readable label for this version (e.g., \"2.0.0\")",
            "example": "2.0.0"
          }
        },
        "required": [
          "manifest",
          "toolkitId",
          "version_label"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions"
      }
    },
    {
      "name": "adminDeleteToolkit",
      "description": "Delete a toolkit",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/toolkits/{toolkitId}"
      }
    },
    {
      "name": "adminDiscardToolkitVersion",
      "description": "Discard a draft toolkit version",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID"
          }
        },
        "required": [
          "toolkitId",
          "versionId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}"
      }
    },
    {
      "name": "adminExportEntities",
      "description": "Export entities as a portable manifest",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "action_button_ids": {
            "type": "array",
            "description": "ActionButtonIDs lists standalone action button IDs to include",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string",
            "description": "Description is an optional description for the exported manifest metadata"
          },
          "name": {
            "type": "string",
            "description": "Name is an optional name for the exported manifest metadata"
          },
          "next_step_ids": {
            "type": "array",
            "description": "NextStepIDs lists next step IDs to include (auto-discovers action buttons)",
            "items": {
              "type": "string"
            }
          },
          "shortcut_ids": {
            "type": "array",
            "description": "ShortcutIDs lists shortcut IDs to include",
            "items": {
              "type": "string"
            }
          },
          "template_ids": {
            "type": "array",
            "description": "TemplateIDs lists meeting template IDs to include (auto-discovers next steps and action buttons)",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/toolkits/export"
      }
    },
    {
      "name": "adminExportToolkit",
      "description": "Export a toolkit as a portable manifest",
      "inputSchema": {
        "type": "object",
        "properties": {
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/export"
      }
    },
    {
      "name": "adminGetToolkit",
      "description": "Get a toolkit",
      "inputSchema": {
        "type": "object",
        "properties": {
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/toolkits/{toolkitId}"
      }
    },
    {
      "name": "adminGetToolkitVersion",
      "description": "Get a toolkit version",
      "inputSchema": {
        "type": "object",
        "properties": {
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID"
          }
        },
        "required": [
          "toolkitId",
          "versionId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}"
      }
    },
    {
      "name": "adminListToolkitInstallations",
      "description": "List toolkit installations",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Maximum number of items to return (default 50, max 100)"
          },
          "offset": {
            "type": "integer",
            "description": "Number of items to skip from the beginning (default 0)"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/installations"
      }
    },
    {
      "name": "adminListToolkitVersions",
      "description": "List toolkit versions",
      "inputSchema": {
        "type": "object",
        "properties": {
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions"
      }
    },
    {
      "name": "adminListToolkits",
      "description": "Get toolkits",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/toolkits"
      }
    },
    {
      "name": "adminPublishToolkitVersion",
      "description": "Publish a toolkit version",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID"
          }
        },
        "required": [
          "toolkitId",
          "versionId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}/publish"
      }
    },
    {
      "name": "adminRepublishToolkitVersion",
      "description": "Republish a toolkit version",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID"
          }
        },
        "required": [
          "toolkitId",
          "versionId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}/republish"
      }
    },
    {
      "name": "adminUpdateToolkit",
      "description": "Update a toolkit",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "auto_install_on_new_workspaces": {
            "type": "boolean",
            "description": "AutoInstallOnNewWorkspaces, when set, controls whether the toolkit is automatically\ninstalled on newly provisioned partner workspaces. Pointer semantics preserve\ntrue PATCH behavior — only provided fields are updated.",
            "example": true
          },
          "auto_propagate": {
            "type": "boolean",
            "description": "AutoPropagate, when set, controls whether newly published toolkit versions are\nautomatically propagated to existing installations. Pointer semantics preserve\ntrue PATCH behavior — only provided fields are updated.",
            "example": true
          },
          "description": {
            "type": "string",
            "example": "Updated description"
          },
          "is_active": {
            "type": "boolean"
          },
          "manifest": {
            "type": "object",
            "description": "Deprecated: Manifest is no longer accepted via this endpoint. Use the toolkit versioning\nAPI instead: POST /v1/partner/admin/toolkits/{toolkitId}/versions to create a draft,\nthen POST /v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}/publish to publish it.\nProviding this field will return HTTP 409 Conflict.",
            "properties": {
              "action_buttons": {
                "type": "array",
                "description": "Action buttons included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing action button (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new action button to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-action-button"
                        },
                        "content_format": {
                          "type": "string",
                          "description": "Content format: rich_text, markdown, plain_text, html",
                          "enum": [
                            "rich_text",
                            "markdown",
                            "plain_text",
                            "html"
                          ],
                          "example": "plain_text"
                        },
                        "delivery_mechanism": {
                          "type": "string",
                          "description": "Delivery mechanism: clipboard, email, os_email_client, file_download, integration, webhook, redirect",
                          "enum": [
                            "clipboard",
                            "email",
                            "os_email_client",
                            "file_download",
                            "integration",
                            "webhook",
                            "redirect"
                          ],
                          "example": "webhook"
                        },
                        "file_format": {
                          "type": "string",
                          "description": "File format for file delivery",
                          "example": "pdf"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name from the vocabulary",
                          "example": "share"
                        },
                        "integration_type": {
                          "type": "string",
                          "description": "Integration type",
                          "example": "salesforce"
                        },
                        "is_default_for_next_step": {
                          "type": "boolean",
                          "description": "Whether this is the default action for a next step",
                          "example": false
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the action button",
                          "example": "Send to CRM"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect delivery",
                          "example": "https://app.example.com/action"
                        },
                        "requires_connected_integration": {
                          "type": "boolean",
                          "description": "Whether this action requires a connected integration",
                          "example": false
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "webhook_url": {
                          "type": "string",
                          "description": "Webhook URL for webhook delivery",
                          "example": "https://api.example.com/webhook"
                        }
                      },
                      "required": [
                        "content_format",
                        "delivery_mechanism",
                        "name"
                      ]
                    }
                  }
                }
              },
              "next_steps": {
                "type": "array",
                "description": "Next steps included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "action_buttons": {
                      "type": "array",
                      "description": "ActionButtons defines the action buttons to attach to this next step with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action_button": {
                            "type": "object",
                            "description": "ActionButton is the reference to the action button entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the action button within the next step",
                            "example": 1
                          }
                        },
                        "required": [
                          "action_button"
                        ]
                      }
                    },
                    "default_action_button": {
                      "type": "object",
                      "description": "DefaultActionButton specifies the default action button for this next step (by $ref or $id)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "ID references an existing entity by its database ID",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "$ref": {
                          "type": "string",
                          "description": "Ref references an entity defined in the same manifest via its $id value",
                          "example": "my-next-step"
                        }
                      }
                    },
                    "id": {
                      "type": "string",
                      "description": "ID references an existing next step (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new next step to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-next-step"
                        },
                        "ai_prompt": {
                          "type": "string",
                          "description": "AI prompt for AI-type next steps",
                          "example": "Generate an invoice..."
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#FF5733"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the next step",
                          "example": "Generates an invoice from meeting notes"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name for display",
                          "example": "receipt"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the next step",
                          "example": "Generate Invoice"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect-type next steps",
                          "example": "https://partner.example.com/invoice"
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of next step: \"ai\" or \"redirect\"",
                          "enum": [
                            "ai",
                            "redirect"
                          ],
                          "example": "ai"
                        }
                      },
                      "required": [
                        "name",
                        "type"
                      ]
                    }
                  }
                }
              },
              "shortcuts": {
                "type": "array",
                "description": "Shortcuts included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing shortcut (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new shortcut to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-shortcut"
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#4F46E5"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the shortcut",
                          "example": "Generates a concise meeting summary"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "IconName specifies which FontAwesome icon to display (e.g., \"faLightbulb\", \"faBolt\")",
                          "example": "faLightbulb"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the shortcut",
                          "example": "Summarize Meeting"
                        },
                        "prompt": {
                          "type": "string",
                          "description": "AI prompt template",
                          "example": "Summarize the key points discussed in this meeting."
                        },
                        "surfaces": {
                          "type": "array",
                          "description": "Surfaces defines which UI surfaces this shortcut should appear on",
                          "items": {
                            "type": "object",
                            "properties": {
                              "position": {
                                "type": "integer",
                                "description": "Position on the surface (1-10)",
                                "example": 1
                              },
                              "surface": {
                                "type": "string",
                                "description": "Surface name (HOME, MEETING_PREPARE, MEETING_RUN, MEETING_REVIEW, CANVAS)",
                                "example": "HOME"
                              }
                            },
                            "required": [
                              "position",
                              "surface"
                            ]
                          }
                        }
                      },
                      "required": [
                        "name",
                        "prompt"
                      ]
                    }
                  }
                }
              },
              "templates": {
                "type": "array",
                "description": "Templates included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing template (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "next_steps": {
                      "type": "array",
                      "description": "NextSteps defines the next steps to attach to this template with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "autopilot": {
                            "type": "boolean",
                            "description": "Autopilot indicates if the next step should auto-execute when the meeting is finalized",
                            "example": false
                          },
                          "next_step": {
                            "type": "object",
                            "description": "NextStep is the reference to the next step entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the next step within the template",
                            "example": 1
                          }
                        },
                        "required": [
                          "next_step"
                        ]
                      }
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new template to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-template"
                        },
                        "agenda_items": {
                          "type": "array",
                          "description": "AgendaItems defines the template's agenda items",
                          "items": {
                            "type": "object",
                            "properties": {
                              "content": {
                                "type": "string",
                                "description": "Content is the rich text body content (markdown) for DISCUSSION-type items"
                              },
                              "description": {
                                "type": "string",
                                "description": "Description is an optional short description/subtitle",
                                "example": "Review current quarter pipeline status"
                              },
                              "item_type": {
                                "type": "string",
                                "description": "ItemType is the agenda item type (DISCUSSION, ACTION_ITEM_RECAP, BREAK, ADJOURN, etc.)",
                                "example": "DISCUSSION"
                              },
                              "restricted_to_leads": {
                                "type": "boolean",
                                "description": "RestrictedToLeads indicates whether only meeting leads can see this item",
                                "example": false
                              },
                              "sequence": {
                                "type": "string",
                                "description": "Sequence controls the display order",
                                "example": "1"
                              },
                              "time_allocation_minutes": {
                                "type": "number",
                                "description": "TimeAllocationMinutes is the suggested time allocation in minutes",
                                "example": 15
                              },
                              "title": {
                                "type": "string",
                                "description": "Title is the agenda item's title",
                                "example": "Pipeline Review"
                              }
                            },
                            "required": [
                              "item_type",
                              "title"
                            ]
                          }
                        },
                        "backing_meeting_id": {
                          "type": "string",
                          "description": "BackingMeetingID references an existing meeting to use as the content source for this template.\nMutually exclusive with inline content fields.",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the template",
                          "example": "Template for sales meetings"
                        },
                        "detail_level": {
                          "type": "string",
                          "description": "DetailLevel controls the granularity of meeting notes",
                          "enum": [
                            "BULLET_POINTS",
                            "STANDARD",
                            "VERBATIM"
                          ],
                          "example": "STANDARD"
                        },
                        "meeting_duration_seconds": {
                          "type": "integer",
                          "description": "MeetingDurationSeconds is the default meeting duration in seconds",
                          "example": 3600
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the template",
                          "example": "Sales Meeting Template"
                        },
                        "participants": {
                          "type": "array",
                          "description": "Participants defines the template's default participants",
                          "items": {
                            "type": "object",
                            "properties": {
                              "email": {
                                "type": "string",
                                "description": "Email is the participant's email address",
                                "example": "sarah@acme.com"
                              },
                              "name": {
                                "type": "string",
                                "description": "Name is the participant's display name",
                                "example": "Sarah Chen"
                              },
                              "role": {
                                "type": "string",
                                "description": "Role is the participant's meeting role (EDITOR or VIEWER)",
                                "enum": [
                                  "EDITOR",
                                  "VIEWER"
                                ],
                                "example": "EDITOR"
                              }
                            },
                            "required": [
                              "email",
                              "name",
                              "role"
                            ]
                          }
                        },
                        "start_time_offset_seconds": {
                          "type": "integer",
                          "description": "StartTimeOffsetSeconds is the default start time as seconds from UTC midnight (-1 means untimed)",
                          "example": 36000
                        },
                        "title": {
                          "type": "string",
                          "description": "--- Inline meeting content (portable) ---\nTitle is the meeting title for the template",
                          "example": "Weekly Sales Standup"
                        }
                      },
                      "required": [
                        "name"
                      ]
                    }
                  }
                }
              },
              "toolkit_prompt": {
                "type": "string",
                "description": "Default AI persona/behavioral instructions for the toolkit"
              }
            }
          },
          "name": {
            "type": "string",
            "example": "Updated Toolkit Name"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "version": {
            "type": "string",
            "description": "Deprecated: Version is no longer accepted via this endpoint. Use the toolkit versioning\nAPI instead: POST /v1/partner/admin/toolkits/{toolkitId}/versions to create a draft,\nthen POST /v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}/publish to publish it.\nProviding this field will return HTTP 409 Conflict.",
            "example": "1.1.0"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "PATCH",
        "path": "/v1/partner/admin/toolkits/{toolkitId}"
      }
    },
    {
      "name": "adminUpdateToolkitVersion",
      "description": "Update a draft toolkit version",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "changelog": {
            "type": "string",
            "description": "Changelog describes the changes in this version",
            "example": "Bug fixes and improvements"
          },
          "manifest": {
            "type": "object",
            "description": "Manifest is the toolkit manifest for this version",
            "properties": {
              "action_buttons": {
                "type": "array",
                "description": "Action buttons included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing action button (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new action button to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-action-button"
                        },
                        "content_format": {
                          "type": "string",
                          "description": "Content format: rich_text, markdown, plain_text, html",
                          "enum": [
                            "rich_text",
                            "markdown",
                            "plain_text",
                            "html"
                          ],
                          "example": "plain_text"
                        },
                        "delivery_mechanism": {
                          "type": "string",
                          "description": "Delivery mechanism: clipboard, email, os_email_client, file_download, integration, webhook, redirect",
                          "enum": [
                            "clipboard",
                            "email",
                            "os_email_client",
                            "file_download",
                            "integration",
                            "webhook",
                            "redirect"
                          ],
                          "example": "webhook"
                        },
                        "file_format": {
                          "type": "string",
                          "description": "File format for file delivery",
                          "example": "pdf"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name from the vocabulary",
                          "example": "share"
                        },
                        "integration_type": {
                          "type": "string",
                          "description": "Integration type",
                          "example": "salesforce"
                        },
                        "is_default_for_next_step": {
                          "type": "boolean",
                          "description": "Whether this is the default action for a next step",
                          "example": false
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the action button",
                          "example": "Send to CRM"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect delivery",
                          "example": "https://app.example.com/action"
                        },
                        "requires_connected_integration": {
                          "type": "boolean",
                          "description": "Whether this action requires a connected integration",
                          "example": false
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "webhook_url": {
                          "type": "string",
                          "description": "Webhook URL for webhook delivery",
                          "example": "https://api.example.com/webhook"
                        }
                      },
                      "required": [
                        "content_format",
                        "delivery_mechanism",
                        "name"
                      ]
                    }
                  }
                }
              },
              "next_steps": {
                "type": "array",
                "description": "Next steps included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "action_buttons": {
                      "type": "array",
                      "description": "ActionButtons defines the action buttons to attach to this next step with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action_button": {
                            "type": "object",
                            "description": "ActionButton is the reference to the action button entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the action button within the next step",
                            "example": 1
                          }
                        },
                        "required": [
                          "action_button"
                        ]
                      }
                    },
                    "default_action_button": {
                      "type": "object",
                      "description": "DefaultActionButton specifies the default action button for this next step (by $ref or $id)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "ID references an existing entity by its database ID",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "$ref": {
                          "type": "string",
                          "description": "Ref references an entity defined in the same manifest via its $id value",
                          "example": "my-next-step"
                        }
                      }
                    },
                    "id": {
                      "type": "string",
                      "description": "ID references an existing next step (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new next step to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-next-step"
                        },
                        "ai_prompt": {
                          "type": "string",
                          "description": "AI prompt for AI-type next steps",
                          "example": "Generate an invoice..."
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#FF5733"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the next step",
                          "example": "Generates an invoice from meeting notes"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "Icon name for display",
                          "example": "receipt"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the next step",
                          "example": "Generate Invoice"
                        },
                        "redirect_url": {
                          "type": "string",
                          "description": "Redirect URL for redirect-type next steps",
                          "example": "https://partner.example.com/invoice"
                        },
                        "sort_order": {
                          "type": "integer",
                          "description": "Sort order for display",
                          "example": 1
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of next step: \"ai\" or \"redirect\"",
                          "enum": [
                            "ai",
                            "redirect"
                          ],
                          "example": "ai"
                        }
                      },
                      "required": [
                        "name",
                        "type"
                      ]
                    }
                  }
                }
              },
              "shortcuts": {
                "type": "array",
                "description": "Shortcuts included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing shortcut (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new shortcut to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-shortcut"
                        },
                        "color": {
                          "type": "string",
                          "description": "Color for display",
                          "example": "#4F46E5"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the shortcut",
                          "example": "Generates a concise meeting summary"
                        },
                        "icon_name": {
                          "type": "string",
                          "description": "IconName specifies which FontAwesome icon to display (e.g., \"faLightbulb\", \"faBolt\")",
                          "example": "faLightbulb"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the shortcut",
                          "example": "Summarize Meeting"
                        },
                        "prompt": {
                          "type": "string",
                          "description": "AI prompt template",
                          "example": "Summarize the key points discussed in this meeting."
                        },
                        "surfaces": {
                          "type": "array",
                          "description": "Surfaces defines which UI surfaces this shortcut should appear on",
                          "items": {
                            "type": "object",
                            "properties": {
                              "position": {
                                "type": "integer",
                                "description": "Position on the surface (1-10)",
                                "example": 1
                              },
                              "surface": {
                                "type": "string",
                                "description": "Surface name (HOME, MEETING_PREPARE, MEETING_RUN, MEETING_REVIEW, CANVAS)",
                                "example": "HOME"
                              }
                            },
                            "required": [
                              "position",
                              "surface"
                            ]
                          }
                        }
                      },
                      "required": [
                        "name",
                        "prompt"
                      ]
                    }
                  }
                }
              },
              "templates": {
                "type": "array",
                "description": "Templates included in the toolkit\nNote: No omitempty - empty slices should serialize as [] for API consistency",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID references an existing template (mutually exclusive with Spec)",
                      "example": "123e4567-e89b-12d3-a456-426614174000"
                    },
                    "next_steps": {
                      "type": "array",
                      "description": "NextSteps defines the next steps to attach to this template with junction fields",
                      "items": {
                        "type": "object",
                        "properties": {
                          "autopilot": {
                            "type": "boolean",
                            "description": "Autopilot indicates if the next step should auto-execute when the meeting is finalized",
                            "example": false
                          },
                          "next_step": {
                            "type": "object",
                            "description": "NextStep is the reference to the next step entity ($ref or $id)",
                            "properties": {
                              "$id": {
                                "type": "string",
                                "description": "ID references an existing entity by its database ID",
                                "example": "123e4567-e89b-12d3-a456-426614174000"
                              },
                              "$ref": {
                                "type": "string",
                                "description": "Ref references an entity defined in the same manifest via its $id value",
                                "example": "my-next-step"
                              }
                            }
                          },
                          "sort_order": {
                            "type": "integer",
                            "description": "SortOrder is the display order of the next step within the template",
                            "example": 1
                          }
                        },
                        "required": [
                          "next_step"
                        ]
                      }
                    },
                    "spec": {
                      "type": "object",
                      "description": "Spec defines a new template to create on installation (mutually exclusive with ID)",
                      "properties": {
                        "$id": {
                          "type": "string",
                          "description": "RefID is the manifest-internal identifier for this entity (used by $ref in other entries)",
                          "example": "my-template"
                        },
                        "agenda_items": {
                          "type": "array",
                          "description": "AgendaItems defines the template's agenda items",
                          "items": {
                            "type": "object",
                            "properties": {
                              "content": {
                                "type": "string",
                                "description": "Content is the rich text body content (markdown) for DISCUSSION-type items"
                              },
                              "description": {
                                "type": "string",
                                "description": "Description is an optional short description/subtitle",
                                "example": "Review current quarter pipeline status"
                              },
                              "item_type": {
                                "type": "string",
                                "description": "ItemType is the agenda item type (DISCUSSION, ACTION_ITEM_RECAP, BREAK, ADJOURN, etc.)",
                                "example": "DISCUSSION"
                              },
                              "restricted_to_leads": {
                                "type": "boolean",
                                "description": "RestrictedToLeads indicates whether only meeting leads can see this item",
                                "example": false
                              },
                              "sequence": {
                                "type": "string",
                                "description": "Sequence controls the display order",
                                "example": "1"
                              },
                              "time_allocation_minutes": {
                                "type": "number",
                                "description": "TimeAllocationMinutes is the suggested time allocation in minutes",
                                "example": 15
                              },
                              "title": {
                                "type": "string",
                                "description": "Title is the agenda item's title",
                                "example": "Pipeline Review"
                              }
                            },
                            "required": [
                              "item_type",
                              "title"
                            ]
                          }
                        },
                        "backing_meeting_id": {
                          "type": "string",
                          "description": "BackingMeetingID references an existing meeting to use as the content source for this template.\nMutually exclusive with inline content fields.",
                          "example": "123e4567-e89b-12d3-a456-426614174000"
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the template",
                          "example": "Template for sales meetings"
                        },
                        "detail_level": {
                          "type": "string",
                          "description": "DetailLevel controls the granularity of meeting notes",
                          "enum": [
                            "BULLET_POINTS",
                            "STANDARD",
                            "VERBATIM"
                          ],
                          "example": "STANDARD"
                        },
                        "meeting_duration_seconds": {
                          "type": "integer",
                          "description": "MeetingDurationSeconds is the default meeting duration in seconds",
                          "example": 3600
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the template",
                          "example": "Sales Meeting Template"
                        },
                        "participants": {
                          "type": "array",
                          "description": "Participants defines the template's default participants",
                          "items": {
                            "type": "object",
                            "properties": {
                              "email": {
                                "type": "string",
                                "description": "Email is the participant's email address",
                                "example": "sarah@acme.com"
                              },
                              "name": {
                                "type": "string",
                                "description": "Name is the participant's display name",
                                "example": "Sarah Chen"
                              },
                              "role": {
                                "type": "string",
                                "description": "Role is the participant's meeting role (EDITOR or VIEWER)",
                                "enum": [
                                  "EDITOR",
                                  "VIEWER"
                                ],
                                "example": "EDITOR"
                              }
                            },
                            "required": [
                              "email",
                              "name",
                              "role"
                            ]
                          }
                        },
                        "start_time_offset_seconds": {
                          "type": "integer",
                          "description": "StartTimeOffsetSeconds is the default start time as seconds from UTC midnight (-1 means untimed)",
                          "example": 36000
                        },
                        "title": {
                          "type": "string",
                          "description": "--- Inline meeting content (portable) ---\nTitle is the meeting title for the template",
                          "example": "Weekly Sales Standup"
                        }
                      },
                      "required": [
                        "name"
                      ]
                    }
                  }
                }
              },
              "toolkit_prompt": {
                "type": "string",
                "description": "Default AI persona/behavioral instructions for the toolkit"
              }
            }
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID"
          },
          "version_label": {
            "type": "string",
            "description": "VersionLabel is a human-readable label for this version",
            "example": "2.0.1"
          }
        },
        "required": [
          "toolkitId",
          "versionId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "PATCH",
        "path": "/v1/partner/admin/toolkits/{toolkitId}/versions/{versionId}"
      }
    },
    {
      "name": "applyMeetingTemplate",
      "description": "Apply template to meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "id": {
            "type": "string",
            "description": "Template ID to apply"
          },
          "meeting_id": {
            "type": "string",
            "description": "ID of the meeting to apply the template to",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          }
        },
        "required": [
          "id",
          "meeting_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meeting-templates/{id}/apply"
      }
    },
    {
      "name": "authorizeOauth",
      "description": "OAuth 2.0 Authorization Endpoint",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "description": "OAuth client ID"
          },
          "code_challenge": {
            "type": "string",
            "description": "PKCE code challenge"
          },
          "code_challenge_method": {
            "type": "string",
            "description": "PKCE code challenge method"
          },
          "redirect_uri": {
            "type": "string",
            "description": "OAuth redirect URI"
          },
          "response_type": {
            "type": "string",
            "description": "OAuth response type (code)"
          },
          "scope": {
            "type": "string",
            "description": "OAuth scopes"
          },
          "state": {
            "type": "string",
            "description": "OAuth state parameter"
          }
        },
        "required": [
          "client_id",
          "redirect_uri",
          "response_type"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/oauth2/authorize"
      }
    },
    {
      "name": "checkOauthConsent",
      "description": "Check Existing Consent",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "example": "partner_abc123"
          },
          "code_challenge": {
            "type": "string",
            "example": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM"
          },
          "code_challenge_method": {
            "type": "string",
            "example": "S256"
          },
          "email": {
            "type": "string",
            "example": "user@example.com"
          },
          "redirect_uri": {
            "type": "string",
            "example": "https://partner.example.com/callback"
          },
          "response_type": {
            "type": "string",
            "example": "code"
          },
          "scopes": {
            "type": "array",
            "example": [
              "openid",
              "profile",
              "email"
            ],
            "items": {
              "type": "string"
            }
          },
          "state": {
            "type": "string",
            "example": "abc123state"
          }
        },
        "required": [
          "client_id",
          "email"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/oauth2/check-consent"
      }
    },
    {
      "name": "completeOauthAuthorization",
      "description": "Complete OAuth 2.0 Authorization",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "example": "partner_abc123"
          },
          "code_challenge": {
            "type": "string",
            "example": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM"
          },
          "code_challenge_method": {
            "type": "string",
            "example": "S256"
          },
          "consent": {
            "type": "boolean",
            "example": true
          },
          "email": {
            "type": "string",
            "example": "user@example.com"
          },
          "redirect_uri": {
            "type": "string",
            "example": "https://partner.example.com/callback"
          },
          "response_type": {
            "type": "string",
            "example": "code"
          },
          "scope": {
            "type": "string",
            "example": "openid profile email"
          },
          "state": {
            "type": "string",
            "example": "abc123state"
          }
        },
        "required": [
          "client_id",
          "consent",
          "email",
          "redirect_uri",
          "response_type"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/oauth2/authorize"
      }
    },
    {
      "name": "createActionItem",
      "description": "Create action item",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "description": {
            "type": "string",
            "example": "Call or schedule meeting to discuss"
          },
          "due_date": {
            "type": "string",
            "description": "YYYY-MM-DD format",
            "example": "2023-01-08"
          },
          "meeting_id": {
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "partner_context": {
            "type": "object",
            "additionalProperties": {}
          },
          "status": {
            "type": "string",
            "enum": [
              "needs_review",
              "accepted",
              "in_progress",
              "blocked",
              "completed",
              "cancelled"
            ],
            "example": "needs_review"
          },
          "title": {
            "type": "string",
            "example": "Follow up with client"
          }
        },
        "required": [
          "meeting_id",
          "title"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/action-items"
      }
    },
    {
      "name": "createAutomation",
      "description": "Create a new automation",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "config": {
                  "type": "object",
                  "example": {
                    "url": "https://api.example.com/webhook"
                  },
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "type": {
                  "type": "string",
                  "example": "webhook"
                }
              },
              "required": [
                "type"
              ]
            }
          },
          "description": {
            "type": "string",
            "example": "Sync action items to CRM"
          },
          "name": {
            "type": "string",
            "example": "CRM Integration"
          },
          "trigger_type": {
            "type": "string",
            "enum": [
              "action_item_created",
              "action_item_updated",
              "action_item_completed",
              "meeting_ended",
              "meeting_summary_ready"
            ]
          }
        },
        "required": [
          "actions",
          "name",
          "trigger_type"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/automation"
      }
    },
    {
      "name": "createCalendarEventMeeting",
      "description": "Create meeting from calendar event",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "calendar_event_id": {
            "type": "string",
            "description": "Calendar Event ID"
          }
        },
        "required": [
          "calendar_event_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/calendar/events/{calendar_event_id}/meeting"
      }
    },
    {
      "name": "createIdpConfig",
      "description": "Create IdP configuration",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "allowed_email_domains": {
            "type": "array",
            "description": "Email domains allowed for SSO (required for strict mode). Users with other domains will be rejected.",
            "example": [
              "company.com",
              "subsidiary.com"
            ],
            "items": {
              "type": "string"
            }
          },
          "claim_mappings": {
            "type": "object",
            "description": "Maps Contio user fields to IdP claim names. Defaults to {\"email\": \"email\", \"name\": \"name\"}. Only change if your IdP uses non-standard claim names.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "discovery_url": {
            "type": "string",
            "description": "OIDC discovery endpoint URL from your Identity Provider (must end with /.well-known/openid-configuration)",
            "example": "https://company.okta.com/.well-known/openid-configuration"
          },
          "idp_client_id": {
            "type": "string",
            "description": "OAuth Client ID from your Identity Provider's OIDC application. This is NOT your Contio Partner client_id.",
            "example": "0oa1234567890abcdef"
          },
          "idp_client_secret": {
            "type": "string",
            "description": "OAuth Client Secret from your Identity Provider's OIDC application. This is NOT your Contio Partner client_secret. Stored encrypted at rest.",
            "example": "IdP-secret-from-okta-or-azure"
          },
          "mode": {
            "type": "string",
            "description": "Domain validation mode: \"strict\" requires allowed_email_domains, \"partner_managed\" trusts your IdP's user base",
            "enum": [
              "strict",
              "partner_managed"
            ],
            "example": "strict"
          },
          "name": {
            "type": "string",
            "description": "Display name for this IdP configuration",
            "example": "Okta SSO"
          },
          "scopes": {
            "type": "array",
            "description": "OIDC scopes to request during authentication. Defaults to [\"openid\", \"email\", \"profile\"]",
            "example": [
              "openid",
              "email",
              "profile"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "discovery_url",
          "idp_client_id",
          "idp_client_secret",
          "mode",
          "name"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/idp"
      }
    },
    {
      "name": "createMeeting",
      "description": "Create meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "detail_level": {
            "type": "string",
            "enum": [
              "BULLET_POINTS",
              "STANDARD",
              "VERBATIM"
            ],
            "example": "STANDARD"
          },
          "end_time": {
            "type": "string",
            "example": "2023-01-01T11:00:00Z"
          },
          "is_instant": {
            "type": "boolean",
            "example": false
          },
          "start_time": {
            "type": "string",
            "example": "2023-01-01T10:00:00Z"
          },
          "template_id": {
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174004"
          },
          "title": {
            "type": "string",
            "example": "Weekly Team Sync"
          }
        },
        "required": [
          "title"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings"
      }
    },
    {
      "name": "createMeetingAgendaItem",
      "description": "Create agenda item",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "description": {
            "type": "string",
            "example": "Review and discuss Q1 objectives"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "DISCUSSION",
              "DECISION",
              "ACTION_ITEM",
              "INFORMATION"
            ],
            "example": "DISCUSSION"
          },
          "presenters": {
            "type": "array",
            "example": [
              "123e4567-e89b-12d3-a456-426614174003"
            ],
            "items": {
              "type": "string"
            }
          },
          "restricted_to_leads": {
            "type": "boolean",
            "example": false
          },
          "talking_points": {
            "type": "string",
            "example": "My private notes for this item"
          },
          "time_allocation_minutes": {
            "type": "number",
            "example": 15
          },
          "title": {
            "type": "string",
            "example": "Q1 Planning Discussion"
          }
        },
        "required": [
          "id",
          "item_type",
          "title"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings/{id}/agenda-items"
      }
    },
    {
      "name": "createSession",
      "description": "Create a new chat session",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "context_document_ids": {
            "type": "array",
            "description": "Optional context document IDs to prime the agent with specific documents",
            "example": [
              "d4e5f6a7-b8c9-0123-4567-890abcdef012"
            ],
            "items": {
              "type": "string"
            }
          },
          "meeting_id": {
            "type": "string",
            "description": "Optional ID of the meeting to associate this session with (user must be a participant)",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "message": {
            "type": "string",
            "description": "First user message to start the conversation (1-10,000 characters)",
            "example": "Summarize the key decisions from this meeting"
          },
          "metadata": {
            "type": "object",
            "description": "Partner-supplied metadata for tracking (max 10 keys, 256 char keys, 1024 char values)",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "message"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/sessions"
      }
    },
    {
      "name": "createTemplate",
      "description": "Create a template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "backing_meeting_id": {
            "type": "string",
            "description": "Optional ID of an existing meeting to use as the source for the template's content.\nThe meeting's agenda items, participants, and talking points will be copied to the new template.\nThe partner must have access to the workspace containing the meeting.",
            "example": "123e4567-e89b-12d3-a456-426614174002"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the template",
            "example": "Invoice template for new clients"
          },
          "name": {
            "type": "string",
            "description": "Name of the template",
            "example": "Invoice Template"
          }
        },
        "required": [
          "name"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/templates"
      }
    },
    {
      "name": "createWorkflowRun",
      "description": "Trigger a workflow run",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "originating_id": {
            "type": "string",
            "description": "OriginatingID is the ID of the originating object (required).",
            "example": "123e4567-e89b-12d3-a456-426614174002"
          },
          "originating_type": {
            "type": "string",
            "description": "OriginatingType is the kind of object that triggered the run. Accepted values: \"meeting\", \"canvas\".",
            "enum": [
              "meeting",
              "canvas"
            ],
            "example": "meeting"
          },
          "workflow_template_id": {
            "type": "string",
            "description": "WorkflowTemplateID is the ID of the workflow template to run (required).",
            "example": "123e4567-e89b-12d3-a456-426614174001"
          }
        },
        "required": [
          "originating_id",
          "originating_type",
          "workflow_template_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/workflow-runs"
      }
    },
    {
      "name": "deleteActionItem",
      "description": "Delete action item",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "id": {
            "type": "string",
            "description": "Action Item ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/user/action-items/{id}"
      }
    },
    {
      "name": "deleteAutomation",
      "description": "Delete automation",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "automationId": {
            "type": "string",
            "description": "Automation ID"
          }
        },
        "required": [
          "automationId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/automation/{automationId}"
      }
    },
    {
      "name": "deleteIdpConfig",
      "description": "Delete IdP configuration",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/idp"
      }
    },
    {
      "name": "deleteMeetingAgendaItem",
      "description": "Delete agenda item",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "item_id": {
            "type": "string",
            "description": "Agenda Item ID"
          }
        },
        "required": [
          "id",
          "item_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/user/meetings/{id}/agenda-items/{item_id}"
      }
    },
    {
      "name": "deleteMeetingContext",
      "description": "Delete meeting context",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "context_id": {
            "type": "string",
            "description": "Context ID"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "context_id",
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/user/meetings/{id}/context/{context_id}"
      }
    },
    {
      "name": "deleteTemplate",
      "description": "Delete a template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/templates/{templateId}"
      }
    },
    {
      "name": "deleteWebhookFilter",
      "description": "Remove partner app webhook filter",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/webhook-filter"
      }
    },
    {
      "name": "downloadMeetingContextContent",
      "description": "Download meeting context content",
      "inputSchema": {
        "type": "object",
        "properties": {
          "context_id": {
            "type": "string",
            "description": "Context ID"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "context_id",
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/context/{context_id}/content"
      }
    },
    {
      "name": "exchangeOauthToken",
      "description": "OAuth 2.0 Token Endpoint",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "description": "OAuth client ID"
          },
          "client_secret": {
            "type": "string",
            "description": "OAuth client secret"
          },
          "code": {
            "type": "string",
            "description": "Authorization code"
          },
          "code_verifier": {
            "type": "string",
            "description": "PKCE code verifier"
          },
          "grant_type": {
            "type": "string",
            "description": "OAuth grant type (authorization_code)"
          },
          "redirect_uri": {
            "type": "string",
            "description": "OAuth redirect URI"
          }
        },
        "required": [
          "client_id",
          "code",
          "grant_type",
          "redirect_uri"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/oauth2/token"
      }
    },
    {
      "name": "executeMeetingNextStep",
      "description": "Execute a next step",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "action_button_id": {
            "type": "string",
            "description": "Action button ID if triggered via a specific action button",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "next_step_id": {
            "type": "string",
            "description": "Next Step ID"
          }
        },
        "required": [
          "id",
          "next_step_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings/{id}/next-steps/{next_step_id}/execute"
      }
    },
    {
      "name": "exportMeetingTranscript",
      "description": "Export meeting transcript",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "description": "Output format (default: srt)"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/transcript/export"
      }
    },
    {
      "name": "getActionItem",
      "description": "Get action item by ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Action Item ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/action-items/{id}"
      }
    },
    {
      "name": "getApp",
      "description": "Get partner app information",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/app"
      }
    },
    {
      "name": "getAutomation",
      "description": "Get automation by ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "automationId": {
            "type": "string",
            "description": "Automation ID"
          }
        },
        "required": [
          "automationId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/automation/{automationId}"
      }
    },
    {
      "name": "getCalendarEvent",
      "description": "Get calendar event by ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "calendar_event_id": {
            "type": "string",
            "description": "Calendar Event ID"
          }
        },
        "required": [
          "calendar_event_id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/calendar/events/{calendar_event_id}"
      }
    },
    {
      "name": "getConnection",
      "description": "Get user connection by ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string",
            "description": "Connection ID"
          }
        },
        "required": [
          "connectionId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/connections/{connectionId}"
      }
    },
    {
      "name": "getCredentialStatus",
      "description": "Get credential status",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/credentials"
      }
    },
    {
      "name": "getIdpConfig",
      "description": "Get IdP configuration",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/idp"
      }
    },
    {
      "name": "getMeeting",
      "description": "Get meeting by ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}"
      }
    },
    {
      "name": "getMeetingContext",
      "description": "Get meeting context",
      "inputSchema": {
        "type": "object",
        "properties": {
          "context_id": {
            "type": "string",
            "description": "Context ID"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "context_id",
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/context/{context_id}"
      }
    },
    {
      "name": "getMeetingTemplate",
      "description": "Get meeting template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting template ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meeting-templates/{id}"
      }
    },
    {
      "name": "getNextStepResult",
      "description": "Get a next step result",
      "inputSchema": {
        "type": "object",
        "properties": {
          "result_id": {
            "type": "string",
            "description": "Result ID"
          }
        },
        "required": [
          "result_id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/next-step-results/{result_id}"
      }
    },
    {
      "name": "getOauthHealth",
      "description": "Health Check for OAuth/Cognito Service",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/oauth2/health"
      }
    },
    {
      "name": "getOauthJwks",
      "description": "JSON Web Key Set Endpoint",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/.well-known/jwks.json"
      }
    },
    {
      "name": "getOauthUserInfo",
      "description": "Get user information",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/oauth2/userInfo"
      }
    },
    {
      "name": "getOpenidConfiguration",
      "description": "OpenID Connect Discovery Endpoint",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/.well-known/openid_configuration"
      }
    },
    {
      "name": "getProfile",
      "description": "Get user profile",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/profile"
      }
    },
    {
      "name": "getPublicPartnerInfo",
      "description": "Get Public Partner Information by Client ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "description": "Partner Client ID"
          }
        },
        "required": [
          "client_id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/info/{client_id}/public"
      }
    },
    {
      "name": "getSession",
      "description": "Get chat session details",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Session ID"
          },
          "turn_limit": {
            "type": "integer",
            "description": "Maximum turns to return (1-200, default: 50)"
          },
          "turn_offset": {
            "type": "integer",
            "description": "Pagination offset for turns"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/sessions/{id}"
      }
    },
    {
      "name": "getSessionTurn",
      "description": "Get specific turn",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Session ID"
          },
          "turn_id": {
            "type": "string",
            "description": "Turn ID"
          }
        },
        "required": [
          "id",
          "turn_id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/sessions/{id}/turns/{turn_id}"
      }
    },
    {
      "name": "getSsoInfo",
      "description": "Get partner SSO information",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Partner slug"
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/sso/info/{slug}"
      }
    },
    {
      "name": "getSsoSession",
      "description": "Get partner SSO session status",
      "inputSchema": {
        "type": "object",
        "properties": {
          "session_id": {
            "type": "string",
            "description": "Session ID"
          }
        },
        "required": [
          "session_id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/sso/session/{session_id}"
      }
    },
    {
      "name": "getTemplate",
      "description": "Get a template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/templates/{templateId}"
      }
    },
    {
      "name": "getWebhookDelivery",
      "description": "Get webhook delivery",
      "inputSchema": {
        "type": "object",
        "properties": {
          "deliveryId": {
            "type": "string",
            "description": "Webhook Delivery ID"
          }
        },
        "required": [
          "deliveryId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/webhook-deliveries/{deliveryId}"
      }
    },
    {
      "name": "getWorkflowRun",
      "description": "Get a workflow run",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Workflow Run ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/workflow-runs/{id}"
      }
    },
    {
      "name": "getWorkflowTemplate",
      "description": "Get a workflow template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Workflow Template ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/workflow-templates/{id}"
      }
    },
    {
      "name": "initiatePartnerAuth",
      "description": "Initiate Partner Passwordless Authentication",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "example": "partner_abc123"
          },
          "email": {
            "type": "string",
            "example": "user@example.com"
          },
          "is_admin": {
            "type": "boolean",
            "example": false
          },
          "name": {
            "type": "string",
            "example": "John Doe"
          },
          "workspace_id": {
            "type": "string",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          }
        },
        "required": [
          "client_id",
          "email"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/auth/initiate"
      }
    },
    {
      "name": "initiateSso",
      "description": "Initiate partner SSO flow",
      "inputSchema": {
        "type": "object",
        "properties": {
          "auto": {
            "type": "boolean",
            "description": "Auto-redirect to authorization URL"
          },
          "slug": {
            "type": "string",
            "description": "Partner app slug"
          },
          "target": {
            "type": "string",
            "description": "Target platform: web (default), desktop, backlog, or meeting:{id}"
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/sso/initiate"
      }
    },
    {
      "name": "installToolkit",
      "description": "Install toolkit",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "toolkitId": {
            "type": "string",
            "description": "Toolkit ID"
          }
        },
        "required": [
          "toolkitId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/toolkits/{toolkitId}/install"
      }
    },
    {
      "name": "introspectOauthToken",
      "description": "OAuth 2.0 Token Introspection Endpoint",
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Access token to introspect"
          }
        },
        "required": [
          "token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/oauth2/introspect"
      }
    },
    {
      "name": "linkCalendarEvent",
      "description": "Link calendar event to meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "calendar_event_id": {
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174006"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "calendar_event_id",
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings/{id}/calendar/link"
      }
    },
    {
      "name": "listActionItems",
      "description": "Get action items",
      "inputSchema": {
        "type": "object",
        "properties": {
          "end_date": {
            "type": "string",
            "description": "Filter by end date (ISO 8601)"
          },
          "has_partner_assignment": {
            "type": "boolean",
            "description": "Filter by partner assignment"
          },
          "is_completed": {
            "type": "boolean",
            "description": "Filter by completion status"
          },
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "meeting_id": {
            "type": "string",
            "description": "Filter by meeting ID"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          },
          "start_date": {
            "type": "string",
            "description": "Filter by start date (ISO 8601)"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/action-items"
      }
    },
    {
      "name": "listAutomations",
      "description": "Get automations",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/automation"
      }
    },
    {
      "name": "listCalendarEvents",
      "description": "Get calendar events",
      "inputSchema": {
        "type": "object",
        "properties": {
          "direction": {
            "type": "string",
            "description": "Sort direction: asc or desc (default: asc)"
          },
          "end": {
            "type": "string",
            "description": "Deprecated: Use end_date instead"
          },
          "end_date": {
            "type": "string",
            "description": "End time in RFC3339 format (preferred)"
          },
          "limit": {
            "type": "integer",
            "description": "Number of results per page (default 25, max 100)"
          },
          "offset": {
            "type": "integer",
            "description": "Pagination offset (default 0)"
          },
          "start": {
            "type": "string",
            "description": "Deprecated: Use start_date instead"
          },
          "start_date": {
            "type": "string",
            "description": "Start time in RFC3339 format (preferred)"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/calendar/events"
      }
    },
    {
      "name": "listConnections",
      "description": "Get user connections",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          },
          "status": {
            "type": "string",
            "description": "Filter by connection status"
          },
          "user_id": {
            "type": "string",
            "description": "Filter by user ID"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/connections"
      }
    },
    {
      "name": "listCredentialHistory",
      "description": "Get audit history",
      "inputSchema": {
        "type": "object",
        "properties": {
          "credential_type": {
            "type": "string",
            "description": "Filter by credential type"
          },
          "limit": {
            "type": "integer",
            "description": "Number of events to return"
          },
          "offset": {
            "type": "integer",
            "description": "Number of events to skip"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/credentials/history"
      }
    },
    {
      "name": "listInstalledToolkits",
      "description": "List installed toolkits",
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspace_id": {
            "type": "string",
            "description": "Workspace ID"
          }
        },
        "required": [
          "workspace_id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/workspaces/{workspace_id}/toolkits"
      }
    },
    {
      "name": "listMeetingActionButtons",
      "description": "Get action buttons for a meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/action-buttons"
      }
    },
    {
      "name": "listMeetingAgendaItems",
      "description": "Get agenda items for a meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/agenda-items"
      }
    },
    {
      "name": "listMeetingContexts",
      "description": "List meeting contexts",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/context"
      }
    },
    {
      "name": "listMeetingNextSteps",
      "description": "Get next steps for a meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/next-steps"
      }
    },
    {
      "name": "listMeetingParticipants",
      "description": "Get meeting participants",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings/{id}/participants"
      }
    },
    {
      "name": "listMeetingTemplateNextSteps",
      "description": "List template next steps",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Meeting template ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meeting-templates/{id}/next-steps"
      }
    },
    {
      "name": "listMeetingTemplates",
      "description": "List meeting templates",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Maximum number of items per page"
          },
          "offset": {
            "type": "integer",
            "description": "Number of items to skip"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meeting-templates"
      }
    },
    {
      "name": "listMeetings",
      "description": "Get meetings",
      "inputSchema": {
        "type": "object",
        "properties": {
          "end_date": {
            "type": "string",
            "description": "End date filter (ISO 8601)"
          },
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          },
          "start_date": {
            "type": "string",
            "description": "Start date filter (ISO 8601)"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/meetings"
      }
    },
    {
      "name": "listOauthScopes",
      "description": "Get Available OAuth Scopes",
      "inputSchema": {
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/oauth2/scopes"
      }
    },
    {
      "name": "listSessions",
      "description": "List chat sessions",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Maximum sessions to return (1-100, default: 25)"
          },
          "meeting_id": {
            "type": "string",
            "description": "Filter by meeting ID"
          },
          "offset": {
            "type": "integer",
            "description": "Number of sessions to skip (0-based, default: 0)"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/sessions"
      }
    },
    {
      "name": "listTemplateNextSteps",
      "description": "Get template next steps",
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/templates/{templateId}/next-steps"
      }
    },
    {
      "name": "listTemplates",
      "description": "List templates",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/templates"
      }
    },
    {
      "name": "listToolkits",
      "description": "List available toolkits",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Maximum number of items per page"
          },
          "offset": {
            "type": "integer",
            "description": "Number of items to skip"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/toolkits"
      }
    },
    {
      "name": "listWebhookDeliveries",
      "description": "List webhook deliveries",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_type": {
            "type": "string",
            "description": "Filter by event type (e.g., meeting.created, automation.assignment.created)"
          },
          "limit": {
            "type": "integer",
            "description": "Maximum number of results to return (default 50, max 100)"
          },
          "offset": {
            "type": "integer",
            "description": "Number of results to skip (default 0)"
          },
          "status": {
            "type": "string",
            "description": "Filter by delivery status (pending, delivered, failed, abandoned)"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/webhook-deliveries"
      }
    },
    {
      "name": "listWorkflowRuns",
      "description": "List workflow runs",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          },
          "originating_type": {
            "type": "string",
            "description": "Filter by originating object type"
          },
          "status": {
            "type": "string",
            "description": "Filter by run status"
          },
          "workflow_template_id": {
            "type": "string",
            "description": "Filter by workflow template ID"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/user/workflow-runs"
      }
    },
    {
      "name": "listWorkflowTemplates",
      "description": "List workflow templates",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Limit"
          },
          "offset": {
            "type": "integer",
            "description": "Offset"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/admin/workflow-templates"
      }
    },
    {
      "name": "removeMeetingParticipant",
      "description": "Remove meeting participant",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "participant_id": {
            "type": "string",
            "description": "Participant ID"
          }
        },
        "required": [
          "id",
          "participant_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/user/meetings/{id}/participants/{participant_id}"
      }
    },
    {
      "name": "removeTemplateNextStep",
      "description": "Remove next step from template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "nextStepId": {
            "type": "string",
            "description": "Next Step ID"
          },
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "nextStepId",
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/templates/{templateId}/next-steps/{nextStepId}"
      }
    },
    {
      "name": "replaceApp",
      "description": "Update partner app",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "default_toolkit_id": {
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174001"
          },
          "description": {
            "type": "string",
            "example": "Updated integration description"
          },
          "name": {
            "type": "string",
            "example": "Updated CRM Integration"
          },
          "slug": {
            "type": "string",
            "example": "acme-crm"
          },
          "webhook_url": {
            "type": "string",
            "example": "https://api.example.com/webhook"
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/app"
      }
    },
    {
      "name": "replaceAppStatus",
      "description": "Update partner app status",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "inactive"
            ],
            "example": "suspended"
          }
        },
        "required": [
          "status"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/app/status"
      }
    },
    {
      "name": "replaceAutomation",
      "description": "Update automation",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "config": {
                  "type": "object",
                  "example": {
                    "url": "https://api.example.com/webhook"
                  },
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "type": {
                  "type": "string",
                  "example": "webhook"
                }
              },
              "required": [
                "type"
              ]
            }
          },
          "automationId": {
            "type": "string",
            "description": "Automation ID"
          },
          "description": {
            "type": "string",
            "example": "Updated description"
          },
          "is_active": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "example": "Updated CRM Integration"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ],
            "example": "active"
          },
          "trigger_type": {
            "type": "string",
            "enum": [
              "action_item_created",
              "action_item_updated",
              "action_item_completed",
              "meeting_ended",
              "meeting_summary_ready"
            ]
          }
        },
        "required": [
          "automationId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/automation/{automationId}"
      }
    },
    {
      "name": "replaceIdpConfig",
      "description": "Update IdP configuration",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "allowed_email_domains": {
            "type": "array",
            "description": "Email domains allowed for SSO (required for strict mode)",
            "items": {
              "type": "string"
            }
          },
          "claim_mappings": {
            "type": "object",
            "description": "Maps Contio user fields to IdP claim names",
            "additionalProperties": {
              "type": "string"
            }
          },
          "discovery_url": {
            "type": "string",
            "description": "OIDC discovery endpoint URL from your Identity Provider",
            "example": "https://company.okta.com/.well-known/openid-configuration"
          },
          "idp_client_id": {
            "type": "string",
            "description": "OAuth Client ID from your Identity Provider's OIDC application. This is NOT your Contio Partner client_id.",
            "example": "0oa1234567890abcdef"
          },
          "idp_client_secret": {
            "type": "string",
            "description": "OAuth Client Secret from your Identity Provider's OIDC application. This is NOT your Contio Partner client_secret. Stored encrypted at rest.",
            "example": "new-IdP-secret"
          },
          "is_active": {
            "type": "boolean",
            "description": "Enable or disable this IdP configuration",
            "example": true
          },
          "mode": {
            "type": "string",
            "description": "Domain validation mode: \"strict\" or \"partner_managed\"",
            "enum": [
              "strict",
              "partner_managed"
            ],
            "example": "partner_managed"
          },
          "name": {
            "type": "string",
            "description": "Display name for this IdP configuration",
            "example": "Updated Okta SSO"
          },
          "scopes": {
            "type": "array",
            "description": "OIDC scopes to request during authentication",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/idp"
      }
    },
    {
      "name": "replaceTemplate",
      "description": "Update a template",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the template",
            "example": "Updated invoice template for new clients"
          },
          "name": {
            "type": "string",
            "description": "Name of the template",
            "example": "Updated Invoice Template"
          },
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/templates/{templateId}"
      }
    },
    {
      "name": "replaceTemplateNextStep",
      "description": "Update template next step association",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "autopilot": {
            "type": "boolean",
            "example": true
          },
          "nextStepId": {
            "type": "string",
            "description": "Next Step ID"
          },
          "templateId": {
            "type": "string",
            "description": "Template ID"
          }
        },
        "required": [
          "nextStepId",
          "templateId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/templates/{templateId}/next-steps/{nextStepId}"
      }
    },
    {
      "name": "replaceWebhookFilter",
      "description": "Update partner app webhook filter",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "include",
              "exclude"
            ],
            "example": "include"
          }
        },
        "required": [
          "events",
          "type"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/webhook-filter"
      }
    },
    {
      "name": "replaceWebhookStatus",
      "description": "Update partner app webhook status",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "enabled": {
            "type": "boolean",
            "example": true
          },
          "pending_disposition": {
            "type": "string",
            "enum": [
              "deliver",
              "abandon"
            ],
            "example": "abandon"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/admin/webhook-status"
      }
    },
    {
      "name": "retryWebhookDelivery",
      "description": "Retry webhook delivery",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "deliveryId": {
            "type": "string",
            "description": "Webhook Delivery ID"
          }
        },
        "required": [
          "deliveryId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/webhook-deliveries/{deliveryId}/retry"
      }
    },
    {
      "name": "revokeConnection",
      "description": "Revoke user connection",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "connectionId": {
            "type": "string",
            "description": "Connection ID"
          }
        },
        "required": [
          "connectionId"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/admin/connections/{connectionId}"
      }
    },
    {
      "name": "revokeOauthToken",
      "description": "OAuth 2.0 Token Revocation Endpoint",
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token to revoke"
          },
          "token_type_hint": {
            "type": "string",
            "description": "Hint about token type (access_token or refresh_token)"
          }
        },
        "required": [
          "token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/oauth2/revoke"
      }
    },
    {
      "name": "rollbackApiKey",
      "description": "Rollback API key",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "reason": {
            "type": "string",
            "example": "Detected issues"
          },
          "rollback_token": {
            "type": "string",
            "example": "rollback_token_xyz..."
          }
        },
        "required": [
          "rollback_token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/credentials/api-key/rollback"
      }
    },
    {
      "name": "rollbackClientSecret",
      "description": "Rollback Client secret",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "reason": {
            "type": "string",
            "example": "Detected issues"
          },
          "rollback_token": {
            "type": "string",
            "example": "rollback_token_xyz..."
          }
        },
        "required": [
          "rollback_token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/credentials/client-secret/rollback"
      }
    },
    {
      "name": "rotateApiKey",
      "description": "Rotate API key",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "confirmation_token": {
            "type": "string",
            "example": "confirm-rotation-12345"
          },
          "grace_period_hours": {
            "type": "integer",
            "example": 48
          },
          "reason": {
            "type": "string",
            "example": "Scheduled rotation"
          }
        },
        "required": [
          "confirmation_token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/credentials/api-key/rotate"
      }
    },
    {
      "name": "rotateClientSecret",
      "description": "Rotate client secret",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "confirmation_token": {
            "type": "string",
            "example": "confirm-rotation-12345"
          },
          "grace_period_hours": {
            "type": "integer",
            "example": 48
          },
          "reason": {
            "type": "string",
            "example": "Scheduled rotation"
          }
        },
        "required": [
          "confirmation_token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/credentials/client-secret/rotate"
      }
    },
    {
      "name": "rotateWebhookSecret",
      "description": "Rotate webhook secret",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "confirmation_token": {
            "type": "string",
            "example": "confirm-rotation-12345"
          },
          "grace_period_hours": {
            "type": "integer",
            "example": 48
          },
          "reason": {
            "type": "string",
            "example": "Scheduled rotation"
          }
        },
        "required": [
          "confirmation_token"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/admin/credentials/webhook-secret/rotate"
      }
    },
    {
      "name": "sendSessionMessage",
      "description": "Send a message to a session",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "id": {
            "type": "string",
            "description": "Session ID"
          },
          "meeting_id": {
            "type": "string",
            "description": "Optional ID of the meeting to associate this session with (user must be a participant)",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "message": {
            "type": "string",
            "description": "User message to add to the conversation (1-10,000 characters)",
            "example": "Can you create action items from those decisions?"
          }
        },
        "required": [
          "id",
          "message"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/user/sessions/{id}"
      }
    },
    {
      "name": "triggerMeetingActionButton",
      "description": "Trigger action button",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "addressing_values": {
            "type": "object",
            "description": "AddressingValues are submitted form values for integration-mechanism action buttons\n(e.g. {\"object_type\":\"Account\",\"record_id\":\"0014X...\"} for Salesforce). Persisted\nverbatim on the action_button_invocation row.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "button_id": {
            "type": "string",
            "description": "Action Button ID"
          },
          "content": {
            "type": "string",
            "description": "Content is the (possibly user-edited) draft body submitted at trigger time.\nWhen provided alongside ResultID and the body differs from the stored result,\na new next_step_execution_log + next_step_result pair is persisted with\nexecution_mode=MANUAL_EDIT before delivery.",
            "example": "Updated meeting summary..."
          },
          "content_format": {
            "type": "string",
            "description": "ContentFormat is the format of Content (e.g. \"markdown\"). Defaults to markdown\nwhen omitted. Ignored when Content is nil.",
            "example": "markdown"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "next_step_id": {
            "type": "string",
            "description": "Next step ID if triggered in the context of a next step",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "result_id": {
            "type": "string",
            "description": "Result ID if triggered in the context of a next step result",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          }
        },
        "required": [
          "button_id",
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings/{id}/action-buttons/{button_id}/trigger"
      }
    },
    {
      "name": "uninstallToolkit",
      "description": "Uninstall toolkit",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "toolkit_id": {
            "type": "string",
            "description": "Toolkit ID"
          },
          "workspace_id": {
            "type": "string",
            "description": "Workspace ID"
          }
        },
        "required": [
          "toolkit_id",
          "workspace_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/user/workspaces/{workspace_id}/toolkits/{toolkit_id}"
      }
    },
    {
      "name": "unlinkCalendarEvent",
      "description": "Unlink calendar event from meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "DELETE",
        "path": "/v1/partner/user/meetings/{id}/calendar/unlink"
      }
    },
    {
      "name": "updateActionItem",
      "description": "Update action item",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "description": {
            "type": "string",
            "example": "Updated description"
          },
          "due_date": {
            "type": "string",
            "description": "YYYY-MM-DD format",
            "example": "2023-01-08"
          },
          "id": {
            "type": "string",
            "description": "Action Item ID"
          },
          "is_completed": {
            "type": "boolean",
            "example": true
          },
          "partner_context": {
            "type": "object",
            "additionalProperties": {}
          },
          "status": {
            "type": "string",
            "enum": [
              "needs_review",
              "accepted",
              "in_progress",
              "blocked",
              "completed",
              "cancelled"
            ],
            "example": "needs_review"
          },
          "title": {
            "type": "string",
            "example": "Follow up with client"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/user/action-items/{id}"
      }
    },
    {
      "name": "updateMeeting",
      "description": "Update meeting",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "detail_level": {
            "type": "string",
            "enum": [
              "BULLET_POINTS",
              "STANDARD",
              "VERBATIM"
            ],
            "example": "STANDARD"
          },
          "end_time": {
            "type": "string",
            "example": "2023-01-01T11:00:00Z"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "start_time": {
            "type": "string",
            "example": "2023-01-01T10:00:00Z"
          },
          "template_id": {
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174004"
          },
          "title": {
            "type": "string",
            "example": "Updated Team Sync"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "PATCH",
        "path": "/v1/partner/user/meetings/{id}"
      }
    },
    {
      "name": "updateMeetingAgendaItem",
      "description": "Update agenda item",
      "inputSchema": {
        "type": "object",
        "properties": {
          "Idempotency-Key": {
            "type": "string",
            "description": "Client-provided idempotency key"
          },
          "description": {
            "type": "string",
            "example": "Updated description"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "item_id": {
            "type": "string",
            "description": "Agenda Item ID"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "DISCUSSION",
              "DECISION",
              "ACTION_ITEM",
              "INFORMATION"
            ],
            "example": "DISCUSSION"
          },
          "presenters": {
            "type": "array",
            "example": [
              "123e4567-e89b-12d3-a456-426614174003"
            ],
            "items": {
              "type": "string"
            }
          },
          "restricted_to_leads": {
            "type": "boolean",
            "example": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "in_progress",
              "completed"
            ],
            "example": "in_progress"
          },
          "talking_points": {
            "type": "string",
            "example": "Updated private notes"
          },
          "time_allocation_minutes": {
            "type": "number",
            "example": 20
          },
          "title": {
            "type": "string",
            "example": "Updated Discussion"
          }
        },
        "required": [
          "id",
          "item_id"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "PUT",
        "path": "/v1/partner/user/meetings/{id}/agenda-items/{item_id}"
      }
    },
    {
      "name": "uploadMeetingContext",
      "description": "Upload meeting context",
      "inputSchema": {
        "type": "object",
        "properties": {
          "context_type": {
            "type": "string",
            "description": "Logical context type"
          },
          "file": {
            "type": "string",
            "description": "Context file",
            "format": "binary"
          },
          "id": {
            "type": "string",
            "description": "Meeting ID"
          },
          "source_format": {
            "type": "string",
            "description": "Source format (json,csv,tsv,xml,html,yaml,md,txt)"
          },
          "title": {
            "type": "string",
            "description": "Context title"
          }
        },
        "required": [
          "file",
          "id",
          "source_format"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/v1/partner/user/meetings/{id}/context"
      }
    },
    {
      "name": "verifyPartnerAuth",
      "description": "Verify Partner Passwordless Authentication",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "example": "partner_abc123"
          },
          "code": {
            "type": "string",
            "example": "123456"
          },
          "email": {
            "type": "string",
            "example": "user@example.com"
          },
          "session": {
            "type": "string",
            "example": "AYABeExample..."
          }
        },
        "required": [
          "client_id",
          "code",
          "email",
          "session"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false
      },
      "x-contio-http": {
        "method": "POST",
        "path": "/auth/verify"
      }
    },
    {
      "name": "verifySsoCallback",
      "description": "Handle partner SSO callback",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Authorization code from IdP"
          },
          "error": {
            "type": "string",
            "description": "Error code if authentication failed"
          },
          "error_description": {
            "type": "string",
            "description": "Error description if authentication failed"
          },
          "state": {
            "type": "string",
            "description": "State parameter for session validation"
          }
        },
        "required": [
          "state"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "x-contio-http": {
        "method": "GET",
        "path": "/v1/partner/sso/callback"
      }
    }
  ]
}
