{
  "openapi": "3.1.0",
  "info": {
    "title": "HeyX Public API",
    "version": "1.0.0",
    "description": "Typed Connect JSON operations for authorized HeyX workspace integrations. Create a named workspace API key, grant only the exact scopes required, and send it as a bearer token. The publicapi.v1 package segment is the stable major API version; breaking changes use a new major package and path. Deprecated operations use Deprecation and Sunset response headers. See the developer documentation for operation scopes, rate limits, versioning, idempotency and retry guidance.",
    "x-versioning-policy": "https://heyx.app/versioning.md"
  },
  "externalDocs": {
    "description": "HeyX public API documentation",
    "url": "https://docs.heyx.app/api-docs/"
  },
  "servers": [
    {
      "url": "https://portal.heyx.app",
      "description": "HeyX production API"
    }
  ],
  "tags": [
    {
      "name": "Workspace",
      "description": "HeyX Workspace operations."
    },
    {
      "name": "Problem",
      "description": "HeyX Problem operations."
    },
    {
      "name": "WorkOrder",
      "description": "HeyX WorkOrder operations."
    },
    {
      "name": "Catalog",
      "description": "HeyX Catalog operations."
    },
    {
      "name": "Quote",
      "description": "HeyX Quote operations."
    },
    {
      "name": "Order",
      "description": "HeyX Order operations."
    },
    {
      "name": "Payment",
      "description": "HeyX Payment operations."
    },
    {
      "name": "Invoice",
      "description": "HeyX Invoice operations."
    },
    {
      "name": "Appointment",
      "description": "HeyX Appointment operations."
    },
    {
      "name": "ActionRequest",
      "description": "HeyX ActionRequest operations."
    },
    {
      "name": "Member",
      "description": "HeyX Member operations."
    },
    {
      "name": "Role",
      "description": "HeyX Role operations."
    },
    {
      "name": "Team",
      "description": "HeyX Team operations."
    },
    {
      "name": "WorkspaceInvitation",
      "description": "HeyX WorkspaceInvitation operations."
    },
    {
      "name": "Portfolio",
      "description": "HeyX Portfolio operations."
    },
    {
      "name": "DataField",
      "description": "HeyX DataField operations."
    },
    {
      "name": "PortfolioEvent",
      "description": "HeyX PortfolioEvent operations."
    },
    {
      "name": "Correspondence",
      "description": "HeyX Correspondence operations."
    },
    {
      "name": "AdvancedTaskService",
      "description": "HeyX AdvancedTaskService operations."
    }
  ],
  "paths": {
    "/public-api/publicapi.v1.Workspace/Me": {
      "post": {
        "operationId": "Workspace_Me",
        "tags": [
          "Workspace"
        ],
        "summary": "Returns the authenticated workspace and API key context.",
        "description": "Returns the authenticated workspace and API key context.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Me completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Problem/CreateProblem": {
      "post": {
        "operationId": "Problem_CreateProblem",
        "tags": [
          "Problem"
        ],
        "summary": "Creates a portfolio-linked problem.",
        "description": "Creates a portfolio-linked problem. This operation is not idempotent.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProblemRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateProblem completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateProblemResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Problem/ListProblems": {
      "post": {
        "operationId": "Problem_ListProblems",
        "tags": [
          "Problem"
        ],
        "summary": "Lists problems visible to the API key actor, with bounded pagination.",
        "description": "Lists problems visible to the API key actor, with bounded pagination. page defaults to 1 and page_size defaults to 25.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListProblemsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListProblems completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListProblemsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Problem/UpdateProblem": {
      "post": {
        "operationId": "Problem_UpdateProblem",
        "tags": [
          "Problem"
        ],
        "summary": "Updates supported everyday fields without performing lifecycle transitions.",
        "description": "Updates supported everyday fields without performing lifecycle transitions.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProblemRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "UpdateProblem completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateProblemResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.WorkOrder/CreateWorkOrder": {
      "post": {
        "operationId": "WorkOrder_CreateWorkOrder",
        "tags": [
          "WorkOrder"
        ],
        "summary": "Creates a manual portfolio work order.",
        "description": "Creates a manual portfolio work order. This operation is not idempotent.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWorkOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateWorkOrder completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateWorkOrderResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.WorkOrder/ListWorkOrders": {
      "post": {
        "operationId": "WorkOrder_ListWorkOrders",
        "tags": [
          "WorkOrder"
        ],
        "summary": "Lists at most page_size work orders visible to the API key actor.",
        "description": "Lists at most page_size work orders visible to the API key actor. page_size defaults to 100 and may be filtered by status or portfolio.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListWorkOrdersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListWorkOrders completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListWorkOrdersResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.WorkOrder/UpdateWorkOrder": {
      "post": {
        "operationId": "WorkOrder_UpdateWorkOrder",
        "tags": [
          "WorkOrder"
        ],
        "summary": "Updates a work order while preserving portfolio access rules.",
        "description": "Updates a work order while preserving portfolio access rules.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "UpdateWorkOrder completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateWorkOrderResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Catalog/ListProducts": {
      "post": {
        "operationId": "Catalog_ListProducts",
        "tags": [
          "Catalog"
        ],
        "summary": "Lists active products available to the API key actor.",
        "description": "Lists active products available to the API key actor.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListProductsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListProducts completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListProductsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Catalog/ListDiscounts": {
      "post": {
        "operationId": "Catalog_ListDiscounts",
        "tags": [
          "Catalog"
        ],
        "summary": "Lists active discounts available to the API key actor.",
        "description": "Lists active discounts available to the API key actor.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListDiscountsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListDiscounts completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDiscountsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Quote/CreateQuote": {
      "post": {
        "operationId": "Quote_CreateQuote",
        "tags": [
          "Quote"
        ],
        "summary": "Creates a concept quote with product quantities and optional discounts.",
        "description": "Creates a concept quote with product quantities and optional discounts. This operation is not idempotent and must not be blindly retried.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuoteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateQuote completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateQuoteResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Quote/GetQuote": {
      "post": {
        "operationId": "Quote_GetQuote",
        "tags": [
          "Quote"
        ],
        "summary": "Returns a quote by ID.",
        "description": "Returns a quote by ID.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetQuoteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GetQuote completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetQuoteResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Quote/ListQuotes": {
      "post": {
        "operationId": "Quote_ListQuotes",
        "tags": [
          "Quote"
        ],
        "summary": "Lists quotes belonging to one portfolio.",
        "description": "Lists quotes belonging to one portfolio.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListQuotesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListQuotes completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListQuotesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Quote/ConfirmQuote": {
      "post": {
        "operationId": "Quote_ConfirmQuote",
        "tags": [
          "Quote"
        ],
        "summary": "Confirms a concept quote and atomically creates its commercial order.",
        "description": "Confirms a concept quote and atomically creates its commercial order. Repeating the operation for an already-confirmed quote returns its order.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmQuoteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ConfirmQuote completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmQuoteResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Order/GetOrder": {
      "post": {
        "operationId": "Order_GetOrder",
        "tags": [
          "Order"
        ],
        "summary": "Returns a commercial order by ID.",
        "description": "Returns a commercial order by ID.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GetOrder completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetOrderResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Order/ListOrders": {
      "post": {
        "operationId": "Order_ListOrders",
        "tags": [
          "Order"
        ],
        "summary": "Lists commercial orders belonging to one portfolio.",
        "description": "Lists commercial orders belonging to one portfolio.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListOrdersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListOrders completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListOrdersResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Payment/CreatePayment": {
      "post": {
        "operationId": "Payment_CreatePayment",
        "tags": [
          "Payment"
        ],
        "summary": "Creates a payment request.",
        "description": "Creates a payment request. Reusing external_operation_id with the same request returns the original payment; different input is rejected.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreatePayment completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePaymentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Payment/GetPayment": {
      "post": {
        "operationId": "Payment_GetPayment",
        "tags": [
          "Payment"
        ],
        "summary": "Returns a payment by ID.",
        "description": "Returns a payment by ID.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPaymentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GetPayment completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPaymentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Payment/ListPayments": {
      "post": {
        "operationId": "Payment_ListPayments",
        "tags": [
          "Payment"
        ],
        "summary": "Lists payments visible to the API key actor with bounded pagination.",
        "description": "Lists payments visible to the API key actor with bounded pagination.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListPaymentsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListPayments completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPaymentsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Payment/RecordManualPayment": {
      "post": {
        "operationId": "Payment_RecordManualPayment",
        "tags": [
          "Payment"
        ],
        "summary": "Records the new total amount received for a manual payment.",
        "description": "Records the new total amount received for a manual payment. The status is derived as partially paid or paid; provider-owned statuses cannot be set.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordManualPaymentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "RecordManualPayment completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordManualPaymentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Invoice/CreateInvoice": {
      "post": {
        "operationId": "Invoice_CreateInvoice",
        "tags": [
          "Invoice"
        ],
        "summary": "Creates or returns the provider draft for an immutable order revision.",
        "description": "Creates or returns the provider draft for an immutable order revision. Reusing idempotency_key with different input is rejected.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInvoiceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateInvoice completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateInvoiceResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Appointment/CreateAppointment": {
      "post": {
        "operationId": "Appointment_CreateAppointment",
        "tags": [
          "Appointment"
        ],
        "summary": "Creates a direct appointment on a round-robin or choose-user agenda.",
        "description": "Creates a direct appointment on a round-robin or choose-user agenda. This operation is not idempotent and must not be blindly retried.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAppointmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateAppointment completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAppointmentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.ActionRequest/CreateManualActionRequest": {
      "post": {
        "operationId": "ActionRequest_CreateManualActionRequest",
        "tags": [
          "ActionRequest"
        ],
        "summary": "Creates a manual customer action request.",
        "description": "Creates a manual customer action request. This operation is not idempotent.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManualActionRequestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateManualActionRequest completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateManualActionRequestResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Member/ListMembers": {
      "post": {
        "operationId": "Member_ListMembers",
        "tags": [
          "Member"
        ],
        "summary": "Lists at most page_size members in the authenticated workspace.",
        "description": "Lists at most page_size members in the authenticated workspace. page_size defaults to 100.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListMembersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListMembers completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMembersResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Member/ReplaceMemberRoles": {
      "post": {
        "operationId": "Member_ReplaceMemberRoles",
        "tags": [
          "Member"
        ],
        "summary": "Replaces all roles assigned to a member.",
        "description": "Replaces all roles assigned to a member. Team memberships are unchanged.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceMemberRolesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ReplaceMemberRoles completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReplaceMemberRolesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Role/ListRoles": {
      "post": {
        "operationId": "Role_ListRoles",
        "tags": [
          "Role"
        ],
        "summary": "Lists at most page_size roles in the authenticated workspace.",
        "description": "Lists at most page_size roles in the authenticated workspace. page_size defaults to 100.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListRolesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListRoles completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListRolesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Team/ListTeams": {
      "post": {
        "operationId": "Team_ListTeams",
        "tags": [
          "Team"
        ],
        "summary": "Lists at most page_size teams in the authenticated workspace.",
        "description": "Lists at most page_size teams in the authenticated workspace. page_size defaults to 100.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTeamsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListTeams completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTeamsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Team/CreateTeam": {
      "post": {
        "operationId": "Team_CreateTeam",
        "tags": [
          "Team"
        ],
        "summary": "Creates a team in the authenticated workspace.",
        "description": "Creates a team in the authenticated workspace.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTeamRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateTeam completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateTeamResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.WorkspaceInvitation/EmailMemberInvitation": {
      "post": {
        "operationId": "WorkspaceInvitation_EmailMemberInvitation",
        "tags": [
          "WorkspaceInvitation"
        ],
        "summary": "Emails a single-use workspace invitation.",
        "description": "Emails a single-use workspace invitation. Duplicate pending invitations fail; this operation is not idempotent.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailMemberInvitationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "EmailMemberInvitation completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailMemberInvitationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.WorkspaceInvitation/CreateInviteLink": {
      "post": {
        "operationId": "WorkspaceInvitation_CreateInviteLink",
        "tags": [
          "WorkspaceInvitation"
        ],
        "summary": "Creates a reusable workspace invitation link.",
        "description": "Creates a reusable workspace invitation link. The token is returned once. This operation is not idempotent and must not be blindly retried.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInviteLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreateInviteLink completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateInviteLinkResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/GetPortfolio": {
      "post": {
        "operationId": "Portfolio_GetPortfolio",
        "tags": [
          "Portfolio"
        ],
        "summary": "Returns a portfolio by ID.",
        "description": "Returns a portfolio by ID.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPortfolioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GetPortfolio completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPortfolioResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/CreatePortfolio": {
      "post": {
        "operationId": "Portfolio_CreatePortfolio",
        "tags": [
          "Portfolio"
        ],
        "summary": "Creates a portfolio and resolves its customer identity from the supplied customer fields.",
        "description": "Creates a portfolio and resolves its customer identity from the supplied customer fields. Contacts are not a public API resource.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortfolioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreatePortfolio completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePortfolioResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/PatchPortfolioDataFields": {
      "post": {
        "operationId": "Portfolio_PatchPortfolioDataFields",
        "tags": [
          "Portfolio"
        ],
        "summary": "Patches portfolio data fields without replacing unspecified fields.",
        "description": "Patches portfolio data fields without replacing unspecified fields.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPortfolioDataFieldsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "PatchPortfolioDataFields completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PatchPortfolioDataFieldsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/CreatePortfolioDocumentUpload": {
      "post": {
        "operationId": "Portfolio_CreatePortfolioDocumentUpload",
        "tags": [
          "Portfolio"
        ],
        "summary": "Creates a short-lived signed upload URL for a portfolio document.",
        "description": "Creates a short-lived signed upload URL for a portfolio document.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortfolioDocumentUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreatePortfolioDocumentUpload completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePortfolioDocumentUploadResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/CompletePortfolioDocumentUpload": {
      "post": {
        "operationId": "Portfolio_CompletePortfolioDocumentUpload",
        "tags": [
          "Portfolio"
        ],
        "summary": "Finalizes a previously-created portfolio document upload.",
        "description": "Finalizes a previously-created portfolio document upload.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompletePortfolioDocumentUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CompletePortfolioDocumentUpload completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompletePortfolioDocumentUploadResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/ListPortfolioDocuments": {
      "post": {
        "operationId": "Portfolio_ListPortfolioDocuments",
        "tags": [
          "Portfolio"
        ],
        "summary": "Lists portfolio documents.",
        "description": "Lists portfolio documents.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListPortfolioDocumentsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListPortfolioDocuments completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPortfolioDocumentsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/GetPortfolioDocumentDownloadLink": {
      "post": {
        "operationId": "Portfolio_GetPortfolioDocumentDownloadLink",
        "tags": [
          "Portfolio"
        ],
        "summary": "Returns a short-lived download URL for a portfolio document.",
        "description": "Returns a short-lived download URL for a portfolio document.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPortfolioDocumentDownloadLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GetPortfolioDocumentDownloadLink completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPortfolioDocumentDownloadLinkResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/CreatePortfolioPhotoUpload": {
      "post": {
        "operationId": "Portfolio_CreatePortfolioPhotoUpload",
        "tags": [
          "Portfolio"
        ],
        "summary": "Creates a short-lived signed upload URL for a portfolio photo.",
        "description": "Creates a short-lived signed upload URL for a portfolio photo.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortfolioPhotoUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreatePortfolioPhotoUpload completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePortfolioPhotoUploadResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/CompletePortfolioPhotoUpload": {
      "post": {
        "operationId": "Portfolio_CompletePortfolioPhotoUpload",
        "tags": [
          "Portfolio"
        ],
        "summary": "Finalizes a previously-created portfolio photo upload.",
        "description": "Finalizes a previously-created portfolio photo upload.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompletePortfolioPhotoUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CompletePortfolioPhotoUpload completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompletePortfolioPhotoUploadResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/ListPortfolioPhotos": {
      "post": {
        "operationId": "Portfolio_ListPortfolioPhotos",
        "tags": [
          "Portfolio"
        ],
        "summary": "Lists portfolio photos.",
        "description": "Lists portfolio photos.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListPortfolioPhotosRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListPortfolioPhotos completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPortfolioPhotosResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/GetPortfolioPhotoDownloadLink": {
      "post": {
        "operationId": "Portfolio_GetPortfolioPhotoDownloadLink",
        "tags": [
          "Portfolio"
        ],
        "summary": "Returns a short-lived download URL for a portfolio photo.",
        "description": "Returns a short-lived download URL for a portfolio photo.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPortfolioPhotoDownloadLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GetPortfolioPhotoDownloadLink completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPortfolioPhotoDownloadLinkResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Portfolio/CreatePortfolioComment": {
      "post": {
        "operationId": "Portfolio_CreatePortfolioComment",
        "tags": [
          "Portfolio"
        ],
        "summary": "Creates an internal portfolio comment/memo.",
        "description": "Creates an internal portfolio comment/memo.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortfolioCommentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreatePortfolioComment completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePortfolioCommentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.DataField/ListDataFields": {
      "post": {
        "operationId": "DataField_ListDataFields",
        "tags": [
          "DataField"
        ],
        "summary": "Lists portfolio data field definitions for the workspace.",
        "description": "Lists portfolio data field definitions for the workspace.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListDataFieldsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListDataFields completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDataFieldsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.PortfolioEvent/CreatePortfolioEvent": {
      "post": {
        "operationId": "PortfolioEvent_CreatePortfolioEvent",
        "tags": [
          "PortfolioEvent"
        ],
        "summary": "Adds an externally-observed event to a portfolio timeline.",
        "description": "Adds an externally-observed event to a portfolio timeline.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortfolioEventRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CreatePortfolioEvent completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePortfolioEventResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.Correspondence/AddCorrespondenceMessage": {
      "post": {
        "operationId": "Correspondence_AddCorrespondenceMessage",
        "tags": [
          "Correspondence"
        ],
        "summary": "Ingests a single inbound or outbound message into a contact conversation.",
        "description": "Ingests a single inbound or outbound message into a contact conversation. Messages are deduplicated per conversation by message_external_id.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddCorrespondenceMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "AddCorrespondenceMessage completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddCorrespondenceMessageResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.AdvancedTaskService/ListAdvancedTaskInstances": {
      "post": {
        "operationId": "AdvancedTaskService_ListAdvancedTaskInstances",
        "tags": [
          "AdvancedTaskService"
        ],
        "summary": "Lists external advanced-task instances, pending by default.",
        "description": "Lists external advanced-task instances, pending by default.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListAdvancedTaskInstancesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ListAdvancedTaskInstances completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAdvancedTaskInstancesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    },
    "/public-api/publicapi.v1.AdvancedTaskService/UpdateAdvancedTaskInstance": {
      "post": {
        "operationId": "AdvancedTaskService_UpdateAdvancedTaskInstance",
        "tags": [
          "AdvancedTaskService"
        ],
        "summary": "Completes or reopens an external advanced-task instance.",
        "description": "Completes or reopens an external advanced-task instance.",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAdvancedTaskInstanceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "UpdateAdvancedTaskInstance completed successfully.",
            "headers": {
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAdvancedTaskInstanceResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/OperationError"
          }
        }
      }
    }
  },
  "components": {
    "headers": {
      "RateLimit-Limit": {
        "description": "Hard workspace limits for the one-second and one-minute windows.",
        "schema": {
          "type": "string",
          "example": "5;w=1, 150;w=60"
        }
      },
      "RateLimit-Remaining": {
        "description": "Requests remaining in the one-second and one-minute windows.",
        "schema": {
          "type": "string",
          "example": "4, 149"
        }
      },
      "RateLimit-Reset": {
        "description": "Seconds until the one-second and one-minute windows reset.",
        "schema": {
          "type": "string",
          "example": "1, 42"
        }
      },
      "Retry-After": {
        "description": "Seconds to wait before retrying.",
        "schema": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "responses": {
      "InvalidRequest": {
        "description": "The request is invalid or cannot be applied to the current resource state.",
        "headers": {
          "RateLimit-Limit": {
            "$ref": "#/components/headers/RateLimit-Limit"
          },
          "RateLimit-Remaining": {
            "$ref": "#/components/headers/RateLimit-Remaining"
          },
          "RateLimit-Reset": {
            "$ref": "#/components/headers/RateLimit-Reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConnectError"
            }
          }
        }
      },
      "Unauthenticated": {
        "description": "The workspace API key is missing or invalid.",
        "headers": {
          "RateLimit-Limit": {
            "$ref": "#/components/headers/RateLimit-Limit"
          },
          "RateLimit-Remaining": {
            "$ref": "#/components/headers/RateLimit-Remaining"
          },
          "RateLimit-Reset": {
            "$ref": "#/components/headers/RateLimit-Reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConnectError"
            }
          }
        }
      },
      "Forbidden": {
        "description": "The API key actor or exact scopes do not authorize this operation.",
        "headers": {
          "RateLimit-Limit": {
            "$ref": "#/components/headers/RateLimit-Limit"
          },
          "RateLimit-Remaining": {
            "$ref": "#/components/headers/RateLimit-Remaining"
          },
          "RateLimit-Reset": {
            "$ref": "#/components/headers/RateLimit-Reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConnectError"
            }
          }
        }
      },
      "RateLimited": {
        "description": "The workspace or API key exceeded an admission or usage limit. Honor Retry-After before retrying.",
        "headers": {
          "RateLimit-Limit": {
            "$ref": "#/components/headers/RateLimit-Limit"
          },
          "RateLimit-Remaining": {
            "$ref": "#/components/headers/RateLimit-Remaining"
          },
          "RateLimit-Reset": {
            "$ref": "#/components/headers/RateLimit-Reset"
          },
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConnectError"
            }
          }
        }
      },
      "OperationError": {
        "description": "The operation failed. Use the error code and message to decide whether corrective action or a retry is appropriate.",
        "headers": {
          "RateLimit-Limit": {
            "$ref": "#/components/headers/RateLimit-Limit"
          },
          "RateLimit-Remaining": {
            "$ref": "#/components/headers/RateLimit-Remaining"
          },
          "RateLimit-Reset": {
            "$ref": "#/components/headers/RateLimit-Reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConnectError"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Named HeyX workspace API key."
      },
      "apiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "Named HeyX workspace API key. Bearer authentication is preferred."
      }
    },
    "schemas": {
      "ConnectError": {
        "type": "object",
        "description": "Structured Connect JSON error response.",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Stable Connect error code.",
            "enum": [
              "canceled",
              "unknown",
              "invalid_argument",
              "deadline_exceeded",
              "not_found",
              "already_exists",
              "permission_denied",
              "resource_exhausted",
              "failed_precondition",
              "aborted",
              "out_of_range",
              "unimplemented",
              "internal",
              "unavailable",
              "data_loss",
              "unauthenticated"
            ]
          },
          "message": {
            "type": "string",
            "description": "Safe, actionable error message."
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false
      },
      "PublicAdvancedTaskStatus": {
        "type": "string",
        "enum": [
          "PUBLIC_ADVANCED_TASK_STATUS_UNSPECIFIED",
          "PUBLIC_ADVANCED_TASK_STATUS_PENDING",
          "PUBLIC_ADVANCED_TASK_STATUS_COMPLETED"
        ]
      },
      "PublicPortfolioFileVisibility": {
        "type": "string",
        "enum": [
          "PUBLIC_PORTFOLIO_FILE_VISIBILITY_UNSPECIFIED",
          "PUBLIC_PORTFOLIO_FILE_VISIBILITY_CUSTOMER",
          "PUBLIC_PORTFOLIO_FILE_VISIBILITY_INTERNAL"
        ]
      },
      "PublicPortfolioAttachmentKind": {
        "type": "string",
        "enum": [
          "PUBLIC_PORTFOLIO_ATTACHMENT_KIND_UNSPECIFIED",
          "PUBLIC_PORTFOLIO_ATTACHMENT_KIND_DOCUMENT",
          "PUBLIC_PORTFOLIO_ATTACHMENT_KIND_PHOTO"
        ]
      },
      "PublicDataFieldType": {
        "type": "string",
        "enum": [
          "PUBLIC_DATA_FIELD_TYPE_UNSPECIFIED",
          "PUBLIC_DATA_FIELD_TYPE_TEXT",
          "PUBLIC_DATA_FIELD_TYPE_LONG_TEXT",
          "PUBLIC_DATA_FIELD_TYPE_NUMBER",
          "PUBLIC_DATA_FIELD_TYPE_BOOLEAN",
          "PUBLIC_DATA_FIELD_TYPE_DATE",
          "PUBLIC_DATA_FIELD_TYPE_DATE_RANGE",
          "PUBLIC_DATA_FIELD_TYPE_SELECT",
          "PUBLIC_DATA_FIELD_TYPE_RADIO",
          "PUBLIC_DATA_FIELD_TYPE_FILE",
          "PUBLIC_DATA_FIELD_TYPE_IMAGE",
          "PUBLIC_DATA_FIELD_TYPE_GEOMETRY",
          "PUBLIC_DATA_FIELD_TYPE_LOCATION",
          "PUBLIC_DATA_FIELD_TYPE_CONTACT_PERSON",
          "PUBLIC_DATA_FIELD_TYPE_COMPANY",
          "PUBLIC_DATA_FIELD_TYPE_CURRENCY"
        ]
      },
      "PublicProblemStatus": {
        "type": "string",
        "enum": [
          "PUBLIC_PROBLEM_STATUS_UNSPECIFIED",
          "PUBLIC_PROBLEM_STATUS_OPEN",
          "PUBLIC_PROBLEM_STATUS_RESOLVED",
          "PUBLIC_PROBLEM_STATUS_CLOSED"
        ]
      },
      "PublicPriceType": {
        "type": "string",
        "enum": [
          "PUBLIC_PRICE_TYPE_UNSPECIFIED",
          "PUBLIC_PRICE_TYPE_ONCE",
          "PUBLIC_PRICE_TYPE_MONTHLY",
          "PUBLIC_PRICE_TYPE_YEARLY"
        ]
      },
      "PublicDiscountType": {
        "type": "string",
        "enum": [
          "PUBLIC_DISCOUNT_TYPE_UNSPECIFIED",
          "PUBLIC_DISCOUNT_TYPE_PERCENTAGE",
          "PUBLIC_DISCOUNT_TYPE_FIXED"
        ]
      },
      "PublicQuoteStatus": {
        "type": "string",
        "enum": [
          "PUBLIC_QUOTE_STATUS_UNSPECIFIED",
          "PUBLIC_QUOTE_STATUS_CONCEPT",
          "PUBLIC_QUOTE_STATUS_CONFIRMED",
          "PUBLIC_QUOTE_STATUS_SUPERSEDED"
        ]
      },
      "PublicOrderStatus": {
        "type": "string",
        "enum": [
          "PUBLIC_ORDER_STATUS_UNSPECIFIED",
          "PUBLIC_ORDER_STATUS_CREATED",
          "PUBLIC_ORDER_STATUS_CANCELLED"
        ]
      },
      "PublicPaymentStatus": {
        "type": "string",
        "enum": [
          "PUBLIC_PAYMENT_STATUS_UNSPECIFIED",
          "PUBLIC_PAYMENT_STATUS_PENDING",
          "PUBLIC_PAYMENT_STATUS_FAILED",
          "PUBLIC_PAYMENT_STATUS_PARTIALLY_PAID",
          "PUBLIC_PAYMENT_STATUS_PAID",
          "PUBLIC_PAYMENT_STATUS_EXPIRED",
          "PUBLIC_PAYMENT_STATUS_CANCELLED"
        ]
      },
      "PublicInvoiceBusinessState": {
        "type": "string",
        "enum": [
          "PUBLIC_INVOICE_BUSINESS_STATE_UNSPECIFIED",
          "PUBLIC_INVOICE_BUSINESS_STATE_UNKNOWN",
          "PUBLIC_INVOICE_BUSINESS_STATE_DRAFT",
          "PUBLIC_INVOICE_BUSINESS_STATE_OPEN",
          "PUBLIC_INVOICE_BUSINESS_STATE_OVERDUE",
          "PUBLIC_INVOICE_BUSINESS_STATE_PARTIALLY_PAID",
          "PUBLIC_INVOICE_BUSINESS_STATE_PAID",
          "PUBLIC_INVOICE_BUSINESS_STATE_CANCELLED"
        ]
      },
      "PublicInvoiceDeliveryState": {
        "type": "string",
        "enum": [
          "PUBLIC_INVOICE_DELIVERY_STATE_UNSPECIFIED",
          "PUBLIC_INVOICE_DELIVERY_STATE_UNKNOWN",
          "PUBLIC_INVOICE_DELIVERY_STATE_NOT_SENT",
          "PUBLIC_INVOICE_DELIVERY_STATE_PENDING",
          "PUBLIC_INVOICE_DELIVERY_STATE_SENT",
          "PUBLIC_INVOICE_DELIVERY_STATE_FAILED"
        ]
      },
      "PublicInvoiceSyncState": {
        "type": "string",
        "enum": [
          "PUBLIC_INVOICE_SYNC_STATE_UNSPECIFIED",
          "PUBLIC_INVOICE_SYNC_STATE_NEVER_SYNCED",
          "PUBLIC_INVOICE_SYNC_STATE_PENDING",
          "PUBLIC_INVOICE_SYNC_STATE_SYNCED",
          "PUBLIC_INVOICE_SYNC_STATE_FAILED"
        ]
      },
      "PublicAppointmentStatus": {
        "type": "string",
        "enum": [
          "PUBLIC_APPOINTMENT_STATUS_UNSPECIFIED",
          "PUBLIC_APPOINTMENT_STATUS_SCHEDULED",
          "PUBLIC_APPOINTMENT_STATUS_COMPLETED",
          "PUBLIC_APPOINTMENT_STATUS_CANCELLED"
        ]
      },
      "CreateProblemRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "severity": {
            "type": "integer",
            "format": "int32"
          },
          "assigneeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Account IDs returned by ListMembers."
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateProblemTaskInput"
            }
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProblemLabel"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateProblemTaskInput": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateProblemResponse": {
        "type": "object",
        "properties": {
          "problem": {
            "$ref": "#/components/schemas/PublicProblem"
          }
        },
        "additionalProperties": false
      },
      "ListProblemsRequest": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PublicProblemStatus"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "assigneeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "severityLevels": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "portfolioIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "titleQuery": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListProblemsResponse": {
        "type": "object",
        "properties": {
          "problems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProblem"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateProblemRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "severity": {
            "type": "integer",
            "format": "int32"
          },
          "addAssigneeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "removeAssigneeIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addLabels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProblemLabel"
            }
          },
          "removeLabelIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "UpdateProblemResponse": {
        "type": "object",
        "properties": {
          "problem": {
            "$ref": "#/components/schemas/PublicProblem"
          }
        },
        "additionalProperties": false
      },
      "PublicProblem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicProblemStatus"
          },
          "severity": {
            "type": "integer",
            "format": "int32"
          },
          "portfolioId": {
            "type": "string"
          },
          "problemTemplateId": {
            "type": "string"
          },
          "problemTemplateName": {
            "type": "string"
          },
          "assignees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProblemAssignee"
            }
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProblemLabel"
            }
          },
          "resolvedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "closedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "archivedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "totalTasks": {
            "type": "integer",
            "format": "int32"
          },
          "completedTasks": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PublicProblemAssignee": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicProblemLabel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "colorHex": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListWorkOrdersRequest": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "portfolioId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateWorkOrderRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "locationDataFieldId": {
            "type": "string",
            "description": "ID of a populated portfolio location DataField."
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateWorkOrderTaskInput"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateWorkOrderTaskInput": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateWorkOrderResponse": {
        "type": "object",
        "properties": {
          "workOrder": {
            "$ref": "#/components/schemas/PublicWorkOrder"
          }
        },
        "additionalProperties": false
      },
      "ListWorkOrdersResponse": {
        "type": "object",
        "properties": {
          "workOrders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicWorkOrder"
            }
          }
        },
        "additionalProperties": false
      },
      "UpdateWorkOrderRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateWorkOrderResponse": {
        "type": "object",
        "properties": {
          "workOrder": {
            "$ref": "#/components/schemas/PublicWorkOrder"
          }
        },
        "additionalProperties": false
      },
      "PublicWorkOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "portfolioReferenceNumber": {
            "type": "string"
          },
          "portfolioTitle": {
            "type": "string"
          },
          "totalTasks": {
            "type": "integer",
            "format": "int32"
          },
          "completedTasks": {
            "type": "integer",
            "format": "int32"
          },
          "workOrderTemplateId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListMembersRequest": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ListMembersResponse": {
        "type": "object",
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicMember"
            }
          }
        },
        "additionalProperties": false
      },
      "ReplaceMemberRolesRequest": {
        "type": "object",
        "properties": {
          "memberId": {
            "type": "string"
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ReplaceMemberRolesResponse": {
        "type": "object",
        "properties": {
          "member": {
            "$ref": "#/components/schemas/PublicMember"
          }
        },
        "additionalProperties": false
      },
      "PublicMember": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicRoleReference"
            }
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicTeamReference"
            }
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "ListRolesRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ListRolesResponse": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicRole"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicRole": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isDefault": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "requires2fa": {
            "type": "boolean"
          },
          "isOwner": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicRoleReference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListTeamsRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ListTeamsResponse": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicTeam"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateTeamRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string",
            "description": "Six-digit hex color. The workspace default is used when omitted."
          }
        },
        "additionalProperties": false
      },
      "CreateTeamResponse": {
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/PublicTeam"
          }
        },
        "additionalProperties": false
      },
      "PublicTeam": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "memberCount": {
            "type": "integer",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicTeamReference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EmailMemberInvitationRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teamId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EmailMemberInvitationResponse": {
        "type": "object",
        "properties": {
          "invitation": {
            "$ref": "#/components/schemas/PublicWorkspaceInvitation"
          }
        },
        "additionalProperties": false
      },
      "CreateInviteLinkRequest": {
        "type": "object",
        "properties": {
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teamId": {
            "type": "string"
          },
          "expiresInHours": {
            "type": "integer",
            "format": "int32",
            "description": "Defaults to 72 hours; maximum 30 days."
          },
          "maxUses": {
            "type": "integer",
            "format": "int32",
            "description": "Defaults to 25 uses; maximum 1000."
          }
        },
        "additionalProperties": false
      },
      "CreateInviteLinkResponse": {
        "type": "object",
        "properties": {
          "inviteLink": {
            "$ref": "#/components/schemas/PublicWorkspaceInviteLink"
          }
        },
        "additionalProperties": false
      },
      "PublicWorkspaceInvitation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicRoleReference"
            }
          },
          "teamId": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicWorkspaceInviteLink": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicRoleReference"
            }
          },
          "teamId": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "maxUses": {
            "type": "integer",
            "format": "int32"
          },
          "useCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MeRequest": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "MeResponse": {
        "type": "object",
        "properties": {
          "workspace": {
            "$ref": "#/components/schemas/PublicWorkspace"
          },
          "apiKey": {
            "$ref": "#/components/schemas/PublicApiKeyContext"
          }
        },
        "additionalProperties": false
      },
      "PublicWorkspace": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicApiKeyContext": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioRequest": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Keys are DataField names from ListDataFields. The public API maps these to canonical internal IDs and continues returning names for compatibility."
          },
          "expectedCloseDate": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "customerName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string",
            "description": "Accepts an international number or a local number when phone_country is set."
          },
          "phoneCountry": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code used to normalize a local phone number."
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioResponse": {
        "type": "object",
        "properties": {
          "portfolio": {
            "$ref": "#/components/schemas/PublicPortfolio"
          }
        },
        "additionalProperties": false
      },
      "GetPortfolioRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetPortfolioResponse": {
        "type": "object",
        "properties": {
          "portfolio": {
            "$ref": "#/components/schemas/PublicPortfolio"
          }
        },
        "additionalProperties": false
      },
      "PatchPortfolioDataFieldsRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "fields": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "additionalProperties": false
      },
      "PatchPortfolioDataFieldsResponse": {
        "type": "object",
        "properties": {
          "portfolio": {
            "$ref": "#/components/schemas/PublicPortfolio"
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioDocumentUploadRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          },
          "description": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioDocumentUploadResponse": {
        "type": "object",
        "properties": {
          "uploadId": {
            "type": "string"
          },
          "uploadUrl": {
            "type": "string"
          },
          "storageKey": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CompletePortfolioDocumentUploadRequest": {
        "type": "object",
        "properties": {
          "uploadId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CompletePortfolioDocumentUploadResponse": {
        "type": "object",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/PublicPortfolioDocument"
          }
        },
        "additionalProperties": false
      },
      "ListPortfolioDocumentsRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          }
        },
        "additionalProperties": false
      },
      "ListPortfolioDocumentsResponse": {
        "type": "object",
        "properties": {
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicPortfolioDocument"
            }
          }
        },
        "additionalProperties": false
      },
      "GetPortfolioDocumentDownloadLinkRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "documentId": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          }
        },
        "additionalProperties": false
      },
      "GetPortfolioDocumentDownloadLinkResponse": {
        "type": "object",
        "properties": {
          "downloadUrl": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioPhotoUploadRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          },
          "description": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioPhotoUploadResponse": {
        "type": "object",
        "properties": {
          "uploadId": {
            "type": "string"
          },
          "uploadUrl": {
            "type": "string"
          },
          "storageKey": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CompletePortfolioPhotoUploadRequest": {
        "type": "object",
        "properties": {
          "uploadId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CompletePortfolioPhotoUploadResponse": {
        "type": "object",
        "properties": {
          "photo": {
            "$ref": "#/components/schemas/PublicPortfolioPhoto"
          }
        },
        "additionalProperties": false
      },
      "ListPortfolioPhotosRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          }
        },
        "additionalProperties": false
      },
      "ListPortfolioPhotosResponse": {
        "type": "object",
        "properties": {
          "photos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicPortfolioPhoto"
            }
          }
        },
        "additionalProperties": false
      },
      "GetPortfolioPhotoDownloadLinkRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "photoId": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          }
        },
        "additionalProperties": false
      },
      "GetPortfolioPhotoDownloadLinkResponse": {
        "type": "object",
        "properties": {
          "downloadUrl": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicPortfolioDocument": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          },
          "filename": {
            "type": "string"
          },
          "originalFilename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "description": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicPortfolioPhoto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          },
          "filename": {
            "type": "string"
          },
          "originalFilename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "description": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicPortfolioAttachment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/PublicPortfolioAttachmentKind"
          },
          "visibility": {
            "$ref": "#/components/schemas/PublicPortfolioFileVisibility"
          },
          "filename": {
            "type": "string"
          },
          "originalFilename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "description": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioCommentRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "attachmentFileIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioCommentResponse": {
        "type": "object",
        "properties": {
          "comment": {
            "$ref": "#/components/schemas/PublicPortfolioComment"
          }
        },
        "additionalProperties": false
      },
      "PublicPortfolioComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicPortfolioAttachment"
            }
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "ListProductsRequest": {
        "type": "object",
        "properties": {
          "folderId": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ListProductsResponse": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProduct"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "folderId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "priceOnce": {
            "type": "integer",
            "format": "int32"
          },
          "priceMonthly": {
            "type": "integer",
            "format": "int32"
          },
          "priceYearly": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "minQuantity": {
            "type": "integer",
            "format": "int32"
          },
          "maxQuantity": {
            "type": "integer",
            "format": "int32"
          },
          "productKind": {
            "type": "string"
          },
          "countryPrices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProductCountryPrice"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicProductCountryPrice": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "priceOnce": {
            "type": "integer",
            "format": "int32"
          },
          "priceOnceMax": {
            "type": "integer",
            "format": "int32"
          },
          "priceMonthly": {
            "type": "integer",
            "format": "int32"
          },
          "priceMonthlyMax": {
            "type": "integer",
            "format": "int32"
          },
          "priceYearly": {
            "type": "integer",
            "format": "int32"
          },
          "priceYearlyMax": {
            "type": "integer",
            "format": "int32"
          },
          "vatRate": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "ListDiscountsRequest": {
        "type": "object",
        "properties": {
          "folderId": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ListDiscountsResponse": {
        "type": "object",
        "properties": {
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicDiscount"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicDiscount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "folderId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discountGroup": {
            "type": "string"
          },
          "discountOnce": {
            "type": "integer",
            "format": "int32"
          },
          "discountOnceType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "discountMonthly": {
            "type": "integer",
            "format": "int32"
          },
          "discountMonthlyType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "discountYearly": {
            "type": "integer",
            "format": "int32"
          },
          "discountYearlyType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "isActive": {
            "type": "boolean"
          },
          "countryPrices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicDiscountCountryPrice"
            }
          },
          "productDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicProductDiscount"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicDiscountCountryPrice": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "discountOnce": {
            "type": "integer",
            "format": "int32"
          },
          "discountOnceType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "discountMonthly": {
            "type": "integer",
            "format": "int32"
          },
          "discountMonthlyType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "discountYearly": {
            "type": "integer",
            "format": "int32"
          },
          "discountYearlyType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "discountMonthlyDurationMode": {
            "type": "string"
          },
          "discountYearlyDurationMode": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicProductDiscount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "discountId": {
            "type": "string"
          },
          "productId": {
            "type": "string"
          },
          "productName": {
            "type": "string"
          },
          "discountType": {
            "$ref": "#/components/schemas/PublicDiscountType"
          },
          "discountAmount": {
            "type": "integer",
            "format": "int32"
          },
          "durationMonths": {
            "type": "integer",
            "format": "int32"
          },
          "durationYears": {
            "type": "integer",
            "format": "int32"
          },
          "priceType": {
            "$ref": "#/components/schemas/PublicPriceType"
          },
          "countryCode": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateQuoteRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteItemInput"
            }
          },
          "discountIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "propositionVersionId": {
            "type": "string"
          },
          "pricingCountry": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "QuoteItemInput": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "priceType": {
            "$ref": "#/components/schemas/PublicPriceType"
          },
          "unitPriceCents": {
            "type": "integer",
            "format": "int32"
          },
          "folderId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateQuoteResponse": {
        "type": "object",
        "properties": {
          "quote": {
            "$ref": "#/components/schemas/PublicQuote"
          }
        },
        "additionalProperties": false
      },
      "GetQuoteRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetQuoteResponse": {
        "type": "object",
        "properties": {
          "quote": {
            "$ref": "#/components/schemas/PublicQuote"
          }
        },
        "additionalProperties": false
      },
      "ListQuotesRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicQuoteStatus"
          }
        },
        "additionalProperties": false
      },
      "ListQuotesResponse": {
        "type": "object",
        "properties": {
          "quotes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicQuote"
            }
          }
        },
        "additionalProperties": false
      },
      "ConfirmQuoteRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "expectedVersion": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConfirmQuoteResponse": {
        "type": "object",
        "properties": {
          "quote": {
            "$ref": "#/components/schemas/PublicQuote"
          },
          "order": {
            "$ref": "#/components/schemas/PublicOrder"
          }
        },
        "additionalProperties": false
      },
      "PublicQuote": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicQuoteStatus"
          },
          "currency": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "referenceNumber": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicQuoteItem"
            }
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicQuoteDiscount"
            }
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "finalizedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "finalizedOrderId": {
            "type": "string"
          },
          "pricingCountry": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicQuoteItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "productId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "priceType": {
            "$ref": "#/components/schemas/PublicPriceType"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "unitPriceCents": {
            "type": "integer",
            "format": "int32"
          },
          "folderId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicQuoteDiscount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "discountId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetOrderRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetOrderResponse": {
        "type": "object",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/PublicOrder"
          }
        },
        "additionalProperties": false
      },
      "ListOrdersRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicOrderStatus"
          }
        },
        "additionalProperties": false
      },
      "ListOrdersResponse": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicOrder"
            }
          }
        },
        "additionalProperties": false
      },
      "CreatePaymentRequest": {
        "type": "object",
        "properties": {
          "externalOperationId": {
            "type": "string",
            "description": "Durable workspace-scoped identifier supplied by the caller."
          },
          "portfolioId": {
            "type": "string"
          },
          "amount": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "currency": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "dueDate": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "method": {
            "type": "string",
            "description": "One of default, manual, mollie, or stripe. Workspace defaults apply when omitted."
          },
          "transactionId": {
            "type": "string"
          },
          "customerName": {
            "type": "string"
          },
          "billingAddressLine1": {
            "type": "string"
          },
          "billingAddressLine2": {
            "type": "string"
          },
          "billingCity": {
            "type": "string"
          },
          "billingPostalCode": {
            "type": "string"
          },
          "billingCountry": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreatePaymentResponse": {
        "type": "object",
        "properties": {
          "payment": {
            "$ref": "#/components/schemas/PublicPayment"
          }
        },
        "additionalProperties": false
      },
      "GetPaymentRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetPaymentResponse": {
        "type": "object",
        "properties": {
          "payment": {
            "$ref": "#/components/schemas/PublicPayment"
          }
        },
        "additionalProperties": false
      },
      "ListPaymentsRequest": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/PublicPaymentStatus"
          },
          "method": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListPaymentsResponse": {
        "type": "object",
        "properties": {
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicPayment"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RecordManualPaymentRequest": {
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string"
          },
          "amountPaid": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "New total amount received in cents. It cannot decrease or exceed amount."
          }
        },
        "additionalProperties": false
      },
      "RecordManualPaymentResponse": {
        "type": "object",
        "properties": {
          "payment": {
            "$ref": "#/components/schemas/PublicPayment"
          }
        },
        "additionalProperties": false
      },
      "PublicPayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicPaymentStatus"
          },
          "amount": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "amountPaid": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "currency": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "checkoutUrl": {
            "type": "string"
          },
          "customerName": {
            "type": "string"
          },
          "billingAddressLine1": {
            "type": "string"
          },
          "billingAddressLine2": {
            "type": "string"
          },
          "billingCity": {
            "type": "string"
          },
          "billingPostalCode": {
            "type": "string"
          },
          "billingCountry": {
            "type": "string"
          },
          "referenceNumber": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "dueDate": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "paidAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "portfolioTitle": {
            "type": "string"
          },
          "portfolioReferenceNumber": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateInvoiceRequest": {
        "type": "object",
        "properties": {
          "integrationId": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "expectedOrderVersion": {
            "type": "integer",
            "format": "int32"
          },
          "idempotencyKey": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateInvoiceResponse": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/PublicInvoice"
          }
        },
        "additionalProperties": false
      },
      "PublicInvoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "orderVersion": {
            "type": "integer",
            "format": "int32"
          },
          "integrationId": {
            "type": "string"
          },
          "businessState": {
            "$ref": "#/components/schemas/PublicInvoiceBusinessState"
          },
          "deliveryState": {
            "$ref": "#/components/schemas/PublicInvoiceDeliveryState"
          },
          "syncState": {
            "$ref": "#/components/schemas/PublicInvoiceSyncState"
          },
          "totalMinor": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "currency": {
            "type": "string"
          },
          "externalNumber": {
            "type": "string"
          },
          "externalUrl": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreateAppointmentRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "agendaId": {
            "type": "string"
          },
          "appointmentTypeId": {
            "type": "string"
          },
          "scheduledStartAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "durationMinutes": {
            "type": "integer",
            "format": "int32",
            "description": "Zero uses the appointment type default."
          },
          "notes": {
            "type": "string"
          },
          "assigneeMemberId": {
            "type": "string",
            "description": "Required by choose-user agendas; optional for round-robin agendas."
          }
        },
        "additionalProperties": false
      },
      "CreateAppointmentResponse": {
        "type": "object",
        "properties": {
          "appointment": {
            "$ref": "#/components/schemas/PublicAppointment"
          }
        },
        "additionalProperties": false
      },
      "PublicAppointment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "agendaId": {
            "type": "string"
          },
          "appointmentTypeId": {
            "type": "string"
          },
          "assignedMemberId": {
            "type": "string"
          },
          "scheduledStartAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "scheduledEndAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "durationMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/PublicAppointmentStatus"
          },
          "notes": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreateManualActionRequestRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "displayDescription": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "CreateManualActionRequestResponse": {
        "type": "object",
        "properties": {
          "actionRequest": {
            "$ref": "#/components/schemas/PublicActionRequest"
          },
          "portalUrl": {
            "type": "string",
            "description": "Customer portal bearer URL. Treat this value as a credential."
          }
        },
        "additionalProperties": false
      },
      "PublicActionRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "displayDescription": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "PublicOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "quoteId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicOrderStatus"
          },
          "referenceNumber": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicOrderItem"
            }
          },
          "finalizedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "cancelledAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "cancelReason": {
            "type": "string"
          },
          "pricingCountry": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicOrderItem": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "lineId": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "priceOnce": {
            "type": "integer",
            "format": "int32"
          },
          "priceMonthly": {
            "type": "integer",
            "format": "int32"
          },
          "priceYearly": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicPortfolio": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Name-keyed compatibility representation; keys are not internal UUIDs."
          },
          "referenceNumber": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "ListDataFieldsRequest": {
        "type": "object",
        "properties": {
          "includeArchived": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ListDataFieldsResponse": {
        "type": "object",
        "properties": {
          "dataFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicDataField"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicDataField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "fieldType": {
            "$ref": "#/components/schemas/PublicDataFieldType"
          },
          "description": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "archivedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "configJson": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioEventRequest": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "eventType": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "payloadJson": {
            "type": "string"
          },
          "occurredAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "externalId": {
            "type": "string",
            "description": "Idempotency key scoped to this portfolio. Retries return the original event."
          }
        },
        "additionalProperties": false
      },
      "CreatePortfolioEventResponse": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "occurredAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          }
        },
        "additionalProperties": false
      },
      "AddCorrespondenceMessageRequest": {
        "type": "object",
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "Optional source integration that produced this message. When set, the message is attributed to the integration (name/logo) in the timeline."
          },
          "channel": {
            "type": "string",
            "description": "Delivery channel, for example \"sms\", \"email\", or \"chat\"."
          },
          "direction": {
            "type": "string",
            "description": "Message direction. Defaults to \"inbound\" when omitted."
          },
          "phone": {
            "type": "string",
            "description": "Contact point. Exactly one of phone or email is required. Accepts either a full international number such as \"+31612345678\" or a local/raw phone number such as \"06 12345678\"."
          },
          "phoneCountryCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional ISO 3166-1 alpha-2 country codes to try when `phone` does not already include a leading \"+\" country code."
          },
          "email": {
            "type": "string"
          },
          "body": {
            "type": "string",
            "description": "Message content in the app rich-text token format."
          },
          "authorLabel": {
            "type": "string",
            "description": "Optional human-readable sender label, for example the sender's name."
          },
          "subject": {
            "type": "string",
            "description": "Optional subject line, mainly relevant for email."
          },
          "occurredAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Optional message timestamp (unix seconds). Defaults to the ingestion time."
          },
          "conversationExternalId": {
            "type": "string",
            "description": "Correlation with the source system. conversation_external_id groups messages into a thread; message_external_id makes ingestion idempotent."
          },
          "messageExternalId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AddCorrespondenceMessageResponse": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string"
          },
          "messageId": {
            "type": "string"
          },
          "created": {
            "type": "boolean",
            "description": "False when an idempotent replay matched an existing message."
          }
        },
        "additionalProperties": false
      },
      "ListAdvancedTaskInstancesRequest": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PublicAdvancedTaskStatus",
            "description": "Defaults to pending so integrations can pull open work."
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "cursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ListAdvancedTaskInstancesResponse": {
        "type": "object",
        "properties": {
          "instances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicAdvancedTaskInstance"
            }
          },
          "nextCursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateAdvancedTaskInstanceRequest": {
        "type": "object",
        "properties": {
          "instanceId": {
            "type": "string"
          },
          "completed": {
            "type": "boolean"
          },
          "evidence": {
            "type": "object",
            "additionalProperties": true
          },
          "externalOperationId": {
            "type": "string",
            "description": "Durable workspace-scoped operation identifier. Reuse is only valid with the same instance, desired state, and evidence."
          }
        },
        "additionalProperties": false
      },
      "UpdateAdvancedTaskInstanceResponse": {
        "type": "object",
        "properties": {
          "instance": {
            "$ref": "#/components/schemas/PublicAdvancedTaskInstance"
          }
        },
        "additionalProperties": false
      },
      "PublicAdvancedTaskInstance": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "advancedTaskId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "externalKey": {
            "type": "string"
          },
          "externalDescription": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PublicAdvancedTaskStatus"
          },
          "createdAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "updatedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "completedAt": {
            "type": "string",
            "pattern": "^-?[0-9]+$",
            "description": "Protocol Buffer 64-bit integer encoded as a decimal JSON string."
          },
          "portfolioId": {
            "type": "string"
          },
          "problemId": {
            "type": "string"
          },
          "workOrderId": {
            "type": "string"
          },
          "parentTitle": {
            "type": "string"
          },
          "portfolioTitle": {
            "type": "string"
          },
          "portfolioReference": {
            "type": "string"
          },
          "completionEvidence": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      }
    }
  }
}
