{
  "openapi": "3.0.0",
  "info": {
    "title": "pga-listings-backend",
    "version": "0.0.1",
    "description": "Prestige Golf Access &amp; Clubshares listings backend",
    "contact": {
      "name": "eprdelapenapluto",
      "email": "eprdelapena@pluto-game.com"
    }
  },
  "paths": {
    "/api/v1/acl/check": {
      "post": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "check",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PermissionsController.check"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "permissionCode"
                ],
                "properties": {
                  "permissionCode": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "PermissionsController.check"
      }
    },
    "/api/v1/acl/scopes": {
      "get": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "listScopes",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PermissionsController.listScopes"
          }
        },
        "operationId": "PermissionsController.listScopes"
      }
    },
    "/api/v1/acl/simulate": {
      "post": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "simulate",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PermissionsController.simulate"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "userId",
                  "permissionCode"
                ],
                "properties": {
                  "userId": {
                    "type": "string"
                  },
                  "permissionCode": {
                    "type": "string"
                  },
                  "resourceContext": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "ownerUserId": {
                        "type": "string"
                      },
                      "teamIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "participantUserIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "isClosed": {
                        "type": "boolean"
                      },
                      "isProtected": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PermissionsController.simulate"
      }
    },
    "/api/v1/activities/{activityId}/complete": {
      "post": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "complete",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.complete"
          }
        },
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ActivitiesController.complete"
      }
    },
    "/api/v1/activities/{activityId}/snooze": {
      "post": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "snooze",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.snooze"
          }
        },
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "nextFollowUpAt"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ActivitiesController.snooze"
      }
    },
    "/api/v1/activities/{activityId}": {
      "patch": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "update",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.update"
          }
        },
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "summary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "details": {
                    "type": "string",
                    "maxLength": 4000
                  },
                  "occurredAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ActivitiesController.update"
      },
      "get": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "findById",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.findById"
          }
        },
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ActivitiesController.findById"
      }
    },
    "/api/v1/activities": {
      "post": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "create",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "entityType",
                  "entityId",
                  "activityType",
                  "summary"
                ],
                "properties": {
                  "entityType": {
                    "type": "string",
                    "enum": [
                      "CLIENT",
                      "LISTING",
                      "MATCH",
                      "TRANSACTION"
                    ]
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "activityType": {
                    "type": "string",
                    "enum": [
                      "CALL",
                      "EMAIL",
                      "VIBER",
                      "SMS",
                      "NOTE",
                      "MEETING",
                      "STATUS_CHANGE",
                      "FOLLOW_UP"
                    ]
                  },
                  "summary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "details": {
                    "type": "string",
                    "maxLength": 4000
                  },
                  "occurredAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        },
        "operationId": "ActivitiesController.create"
      },
      "get": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "list",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "ActivitiesController.list"
      }
    },
    "/api/v1/admin/backups/clients-listings": {
      "post": {
        "x-controller-name": "BackupsController",
        "x-operation-name": "createClientsListingsBackup",
        "tags": [
          "BackupsController"
        ],
        "responses": {
          "200": {
            "description": "MongoDB-importable backup archive uploaded to the configured private object-storage bucket.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "fileName",
                    "mimeType",
                    "sizeBytes",
                    "generatedAt",
                    "format",
                    "collections",
                    "counts"
                  ],
                  "properties": {
                    "fileName": {
                      "type": "string"
                    },
                    "mimeType": {
                      "type": "string"
                    },
                    "sizeBytes": {
                      "type": "integer"
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "format": {
                      "type": "string",
                      "enum": [
                        "mongodb-extended-json-ndjson"
                      ]
                    },
                    "collections": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "clients",
                          "listings"
                        ]
                      },
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "counts": {
                      "type": "object",
                      "properties": {
                        "clients": {
                          "type": "integer"
                        },
                        "listings": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "BackupsController.createClientsListingsBackup"
      }
    },
    "/api/v1/admin/backups/full-database": {
      "post": {
        "x-controller-name": "BackupsController",
        "x-operation-name": "createFullDatabaseBackup",
        "tags": [
          "BackupsController"
        ],
        "responses": {
          "200": {
            "description": "Full MongoDB logical backup of all regular application collections uploaded to the configured private object-storage bucket.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "fileName",
                    "mimeType",
                    "sizeBytes",
                    "generatedAt",
                    "format",
                    "collectionCount",
                    "collections",
                    "counts",
                    "totalDocuments"
                  ],
                  "properties": {
                    "fileName": {
                      "type": "string"
                    },
                    "mimeType": {
                      "type": "string"
                    },
                    "sizeBytes": {
                      "type": "integer"
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "format": {
                      "type": "string",
                      "enum": [
                        "mongodb-extended-json-ndjson"
                      ]
                    },
                    "collectionCount": {
                      "type": "integer"
                    },
                    "collections": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "counts": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "integer"
                      }
                    },
                    "totalDocuments": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "BackupsController.createFullDatabaseBackup"
      }
    },
    "/api/v1/admin/client-imports/{importId}/source-file": {
      "delete": {
        "x-controller-name": "ClientImportAdminController",
        "x-operation-name": "deleteClientImportSourceFile",
        "tags": [
          "ClientImportAdminController"
        ],
        "responses": {
          "200": {
            "description": "ROOT001-only deletion of the original processed Client import workbook. Processing history and error reports are retained."
          },
          "403": {
            "description": "Only the protected active root001 account can delete Client import source workbooks."
          },
          "404": {
            "description": "Client import was not found."
          },
          "409": {
            "description": "The import is not in a deletable terminal status or its source workbook is unavailable."
          },
          "503": {
            "description": "Object storage could not delete the source workbook."
          }
        },
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientImportAdminController.deleteClientImportSourceFile"
      }
    },
    "/api/v1/admin/client-imports": {
      "get": {
        "x-controller-name": "ClientImportAdminController",
        "x-operation-name": "listClientImports",
        "tags": [
          "ClientImportAdminController"
        ],
        "responses": {
          "200": {
            "description": "ROOT001-only paginated Client import operations list. Storage and queue internals are intentionally omitted."
          },
          "403": {
            "description": "Only the protected active root001 account can list all Client imports."
          },
          "422": {
            "description": "Invalid filter or cursor."
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientImportAdminController.listClientImports"
      }
    },
    "/api/v1/auth/change-password": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "changePassword",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.changePassword"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "currentPassword",
                  "newPassword"
                ],
                "properties": {
                  "currentPassword": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string",
                    "minLength": 12
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.changePassword"
      }
    },
    "/api/v1/auth/device/bootstrap": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "bootstrapDeviceRecognition",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "204": {
            "description": "Device-recognition transport ready."
          }
        },
        "operationId": "AuthController.bootstrapDeviceRecognition"
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "login",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.login"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "username",
                  "password"
                ],
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.login"
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "logout",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.logout"
          }
        },
        "operationId": "AuthController.logout"
      }
    },
    "/api/v1/auth/logout-all": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "logoutAll",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.logoutAll"
          }
        },
        "operationId": "AuthController.logoutAll"
      }
    },
    "/api/v1/auth/me": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateMe",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateMe"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPartialExcluding_id-usernameNormalized-passwordHash-accountType-isProtected-status-roleIds-teamIds-permissionOverrides-delegationPolicy-sessionVersion-createdByUserId-createdAt-updatedAt-archivedAt-emailNormalized_"
              }
            }
          }
        },
        "operationId": "AuthController.updateMe"
      },
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "me",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.me"
          }
        },
        "operationId": "AuthController.me"
      }
    },
    "/api/v1/auth/refresh": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "refresh",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.refresh"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "refreshToken"
                ],
                "properties": {
                  "refreshToken": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.refresh"
      }
    },
    "/api/v1/auth/sessions/{sessionId}": {
      "delete": {
        "x-controller-name": "AuthController",
        "x-operation-name": "revokeSession",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.revokeSession"
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "description": "Stable session family ID (preferred) or current session record ID.",
            "required": true
          }
        ],
        "operationId": "AuthController.revokeSession"
      }
    },
    "/api/v1/auth/sessions": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sessions",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sessions"
          }
        },
        "operationId": "AuthController.sessions"
      }
    },
    "/api/v1/client-duplicate-reviews/my-submissions/summary": {
      "get": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "mySubmissionSummary",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.mySubmissionSummary"
          }
        },
        "operationId": "ClientDuplicateReviewsController.mySubmissionSummary"
      }
    },
    "/api/v1/client-duplicate-reviews/my-submissions": {
      "get": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "listMySubmissions",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.listMySubmissions"
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submittedFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submittedTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ClientDuplicateReviewsController.listMySubmissions"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/approve": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "approve",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.approve"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "remarks"
                ],
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientDuplicateReviewsController.approve"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/history": {
      "get": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "history",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.history"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientDuplicateReviewsController.history"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/lift-approval": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "liftApproval",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.liftApproval"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "remarks"
                ],
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "replacementDuplicateReviewId": {
                    "type": "string"
                  },
                  "replacementExpectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "replacementApprovalRemarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientDuplicateReviewsController.liftApproval"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/lift-legacy-client-approval": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "liftLegacyClientApproval",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.liftLegacyClientApproval"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "existingClientId",
                  "remarks"
                ],
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "existingClientId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "remarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientDuplicateReviewsController.liftLegacyClientApproval"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/lift-rejection": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "liftRejection",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.liftRejection"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "remarks"
                ],
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientDuplicateReviewsController.liftRejection"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/reject": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "reject",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.reject"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "remarks"
                ],
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "existingClientId": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientDuplicateReviewsController.reject"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/reject-existing-client": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "rejectExistingClient",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.rejectExistingClient"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "existingClientId",
                  "remarks"
                ],
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "existingClientId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "remarks": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientDuplicateReviewsController.rejectExistingClient"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}/status": {
      "get": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "getRequesterStatus",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.getRequesterStatus"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientDuplicateReviewsController.getRequesterStatus"
      }
    },
    "/api/v1/client-duplicate-reviews/{reviewId}": {
      "get": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "getReview",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.getReview"
          }
        },
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientDuplicateReviewsController.getReview"
      }
    },
    "/api/v1/client-duplicate-reviews": {
      "post": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "submit",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.submit"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "clientType"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "operationId": "ClientDuplicateReviewsController.submit"
      },
      "get": {
        "x-controller-name": "ClientDuplicateReviewsController",
        "x-operation-name": "list",
        "tags": [
          "ClientDuplicateReviewsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateReviewsController.list"
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestKind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submittedFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submittedTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientDuplicateReviewsController.list"
      }
    },
    "/api/v1/client-duplicate-rules/admin": {
      "get": {
        "x-controller-name": "ClientDuplicateRulesController",
        "x-operation-name": "getAdmin",
        "tags": [
          "ClientDuplicateRulesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateRulesController.getAdmin"
          }
        },
        "operationId": "ClientDuplicateRulesController.getAdmin"
      }
    },
    "/api/v1/client-duplicate-rules/draft": {
      "put": {
        "x-controller-name": "ClientDuplicateRulesController",
        "x-operation-name": "saveDraft",
        "tags": [
          "ClientDuplicateRulesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateRulesController.saveDraft"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "rules"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "rules": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "enabled",
                      "minimumMatchingNameParts",
                      "mode",
                      "minimumSupportingSignals"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "object"
                      },
                      "minimumMatchingNameParts": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 10
                      },
                      "mode": {
                        "type": "string",
                        "enum": [
                          "ANY",
                          "COMBINATION"
                        ]
                      },
                      "minimumSupportingSignals": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 10
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ClientDuplicateRulesController.saveDraft"
      }
    },
    "/api/v1/client-duplicate-rules/impact-preview": {
      "get": {
        "x-controller-name": "ClientDuplicateRulesController",
        "x-operation-name": "impactPreview",
        "tags": [
          "ClientDuplicateRulesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateRulesController.impactPreview"
          }
        },
        "operationId": "ClientDuplicateRulesController.impactPreview"
      }
    },
    "/api/v1/client-duplicate-rules/publish": {
      "post": {
        "x-controller-name": "ClientDuplicateRulesController",
        "x-operation-name": "publish",
        "tags": [
          "ClientDuplicateRulesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientDuplicateRulesController.publish"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          }
        },
        "operationId": "ClientDuplicateRulesController.publish"
      }
    },
    "/api/v1/clients/create-context": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "createContext",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.createContext"
          }
        },
        "operationId": "ClientsController.createContext"
      }
    },
    "/api/v1/clients/duplicate-check": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "duplicateCheck",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.duplicateCheck"
          }
        },
        "parameters": [
          {
            "name": "mobile",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientsController.duplicateCheck"
      }
    },
    "/api/v1/clients/import/check": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "checkImportWorkbook",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Client import preflight validation result. No import data is persisted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "fileName",
                    "canUpload",
                    "template",
                    "ownership",
                    "summary",
                    "fileErrors",
                    "rowErrors",
                    "errorsTruncated"
                  ],
                  "properties": {
                    "fileName": {
                      "type": "string"
                    },
                    "canUpload": {
                      "type": "boolean"
                    },
                    "template": {
                      "type": "object",
                      "required": [
                        "valid",
                        "version",
                        "signatureValid"
                      ],
                      "properties": {
                        "valid": {
                          "type": "boolean"
                        },
                        "version": {
                          "type": "string",
                          "nullable": true
                        },
                        "signatureValid": {
                          "type": "boolean"
                        }
                      }
                    },
                    "ownership": {
                      "type": "object",
                      "required": [
                        "valid",
                        "userIdValid",
                        "teamIdValid"
                      ],
                      "properties": {
                        "valid": {
                          "type": "boolean"
                        },
                        "userIdValid": {
                          "type": "boolean"
                        },
                        "teamIdValid": {
                          "type": "boolean"
                        }
                      }
                    },
                    "summary": {
                      "type": "object",
                      "required": [
                        "totalRows",
                        "validRows",
                        "invalidRows",
                        "validationIssues"
                      ],
                      "properties": {
                        "totalRows": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "validRows": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "invalidRows": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "validationIssues": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    },
                    "fileErrors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "rowErrors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "excelRowNumber",
                          "valid",
                          "errors"
                        ],
                        "properties": {
                          "excelRowNumber": {
                            "type": "integer",
                            "minimum": 2
                          },
                          "valid": {
                            "type": "boolean"
                          },
                          "errors": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "field",
                                "label",
                                "code",
                                "message"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "code": {
                                  "type": "string"
                                },
                                "message": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "errorsTruncated": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Client import permission denied."
          },
          "413": {
            "description": "Workbook exceeds the configured maximum size."
          },
          "422": {
            "description": "The multipart upload is malformed or unsupported."
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "ClientsController.checkImportWorkbook"
      }
    },
    "/api/v1/clients/import": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "importClients",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Client import result. The Idempotency-Key header is required.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "importId",
                    "fileName",
                    "status",
                    "fileSizeBytes",
                    "uploadedAt",
                    "awaitingProcessing"
                  ],
                  "properties": {
                    "importId": {
                      "type": "string"
                    },
                    "fileName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "fileSizeBytes": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "uploadedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "awaitingProcessing": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "ClientsController.importClients"
      }
    },
    "/api/v1/clients/import-template-context": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "getImportTemplateContext",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Active Team choices for a personalized Client import template.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "teams",
                    "requiresTeamSelection"
                  ],
                  "properties": {
                    "teams": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "teamId",
                          "name"
                        ],
                        "properties": {
                          "teamId": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "requiresTeamSelection": {
                      "type": "boolean"
                    },
                    "autoSelectedTeamId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ClientsController.getImportTemplateContext"
      }
    },
    "/api/v1/clients/import-template.xlsx": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "downloadImportTemplate",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Official Client import workbook template.",
            "content": {
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientsController.downloadImportTemplate"
      }
    },
    "/api/v1/clients/imports/{importId}/error-report": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "downloadImportErrorReport",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Client import validation error report.",
            "content": {
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "Client import error report was not found."
          }
        },
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientsController.downloadImportErrorReport"
      }
    },
    "/api/v1/clients/imports/{importId}/process": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "processImport",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "202": {
            "description": "Client import processing job accepted and queued.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "importId",
                    "status",
                    "queuedAt",
                    "message"
                  ],
                  "properties": {
                    "importId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "QUEUED",
                        "PROCESSING",
                        "COMPLETED",
                        "COMPLETED_WITH_ERRORS"
                      ]
                    },
                    "queuedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Only the protected root001 account can queue Client import processing."
          },
          "404": {
            "description": "Client import was not found."
          },
          "409": {
            "description": "Client import is not ready for processing."
          }
        },
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientsController.processImport"
      }
    },
    "/api/v1/clients/imports/{importId}": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "getImportStatus",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Safe Client import status summary.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "importId",
                    "fileName",
                    "status",
                    "fileSizeBytes",
                    "uploadedAt",
                    "awaitingProcessing",
                    "totalRows",
                    "batchSize",
                    "processedRows",
                    "insertedRows",
                    "updatedRows",
                    "skippedRows",
                    "invalidRows",
                    "duplicateReviewRows",
                    "currentBatch",
                    "totalBatches",
                    "lastProcessedRow",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "importId": {
                      "type": "string"
                    },
                    "fileName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING",
                        "VALIDATING",
                        "UPLOADING",
                        "UPLOADED",
                        "QUEUED",
                        "PROCESSING",
                        "COMPLETED",
                        "COMPLETED_WITH_ERRORS",
                        "FAILED"
                      ]
                    },
                    "fileSizeBytes": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "uploadedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "awaitingProcessing": {
                      "type": "boolean"
                    },
                    "totalRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "batchSize": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "processedRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "insertedRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "updatedRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "skippedRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "invalidRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "duplicateReviewRows": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "currentBatch": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "totalBatches": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "lastProcessedRow": {
                      "type": "integer",
                      "minimum": 0,
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Client import was not found."
          }
        },
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientsController.getImportStatus"
      }
    },
    "/api/v1/clients/my-created-count": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "myCreatedCount",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Total Client records created by the authenticated user.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "count"
                  ],
                  "properties": {
                    "count": {
                      "type": "integer",
                      "minimum": 0
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ClientsController.myCreatedCount"
      }
    },
    "/api/v1/clients/my-imports/{importId}/error-report": {
      "get": {
        "x-controller-name": "ClientImportHistoryController",
        "x-operation-name": "downloadOwnImportReport",
        "tags": [
          "ClientImportHistoryController"
        ],
        "responses": {
          "200": {
            "description": "Error and duplicate-review report for an owned Client import.",
            "content": {
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required."
          },
          "404": {
            "description": "Owned report was not found."
          }
        },
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientImportHistoryController.downloadOwnImportReport"
      }
    },
    "/api/v1/clients/my-imports": {
      "get": {
        "x-controller-name": "ClientImportHistoryController",
        "x-operation-name": "listOwnImports",
        "tags": [
          "ClientImportHistoryController"
        ],
        "responses": {
          "200": {
            "description": "Cursor-paginated Client import history owned by the authenticated user."
          },
          "401": {
            "description": "Authentication is required."
          },
          "422": {
            "description": "Invalid status, date filter, or cursor."
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uploadedFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uploadedTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientImportHistoryController.listOwnImports"
      }
    },
    "/api/v1/clients/my-owned-count": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "myOwnedCount",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Total active Client records assigned to the authenticated user as owner/salesman.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "count"
                  ],
                  "properties": {
                    "count": {
                      "type": "integer",
                      "minimum": 0
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ClientsController.myOwnedCount"
      }
    },
    "/api/v1/clients/owner-options": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "ownerOptions",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.ownerOptions"
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ClientsController.ownerOptions"
      }
    },
    "/api/v1/clients/{clientId}/addresses/{addressId}": {
      "patch": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "updateAddress",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.updateAddress"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "addressId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "type": {
                    "type": "string",
                    "minLength": 1
                  },
                  "addressLine": {
                    "type": "string",
                    "minLength": 1
                  },
                  "city": {
                    "type": "string"
                  },
                  "province": {
                    "type": "string"
                  },
                  "postalCode": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "pattern": "^[A-Za-z]{2}$"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ClientsController.updateAddress"
      }
    },
    "/api/v1/clients/{clientId}/addresses": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "addAddress",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.addAddress"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "type",
                  "addressLine"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "type": {
                    "type": "string",
                    "minLength": 1
                  },
                  "addressLine": {
                    "type": "string",
                    "minLength": 1
                  },
                  "city": {
                    "type": "string"
                  },
                  "province": {
                    "type": "string"
                  },
                  "postalCode": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "pattern": "^[A-Za-z]{2}$"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.addAddress"
      }
    },
    "/api/v1/clients/{clientId}/archive": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "archive",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.archive"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.archive"
      }
    },
    "/api/v1/clients/{clientId}/assign": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "assign",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.assign"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "ownerSalesmanId"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "ownerSalesmanId": {
                    "type": "string"
                  },
                  "teamId": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.assign"
      }
    },
    "/api/v1/clients/{clientId}/contacts/{contactId}": {
      "patch": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "updateContact",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.updateContact"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "contactId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "MOBILE",
                      "EMAIL",
                      "PHONE",
                      "VIBER",
                      "OTHER"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ClientsController.updateContact"
      }
    },
    "/api/v1/clients/{clientId}/contacts": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "addContact",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.addContact"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "type",
                  "value"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "MOBILE",
                      "EMAIL",
                      "PHONE",
                      "VIBER",
                      "OTHER"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.addContact"
      }
    },
    "/api/v1/clients/{clientId}/memberships/{membershipId}": {
      "patch": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "updateMembership",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.updateMembership"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "membershipId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "shareClassCode": {
                    "type": "string"
                  },
                  "membershipNumber": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ClientsController.updateMembership"
      }
    },
    "/api/v1/clients/{clientId}/memberships": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "addMembership",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.addMembership"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "clubId"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "clubId": {
                    "type": "string"
                  },
                  "shareClassCode": {
                    "type": "string"
                  },
                  "membershipNumber": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.addMembership"
      }
    },
    "/api/v1/clients/{clientId}/restore": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "restore",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.restore"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.restore"
      }
    },
    "/api/v1/clients/{clientId}/tags": {
      "put": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "setTags",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.setTags"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion",
                  "tags"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "tags": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.setTags"
      }
    },
    "/api/v1/clients/{clientId}": {
      "patch": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "update",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.update"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "individualName": {
                    "type": "string"
                  },
                  "individualCompanyName": {
                    "type": "string",
                    "nullable": true
                  },
                  "individualPosition": {
                    "type": "string",
                    "nullable": true
                  },
                  "companyName": {
                    "type": "string"
                  },
                  "spouseName": {
                    "type": "string",
                    "nullable": true
                  },
                  "tin": {
                    "type": "string",
                    "nullable": true
                  },
                  "birthday": {
                    "type": "string",
                    "format": "date",
                    "nullable": true
                  },
                  "secretaryName": {
                    "type": "string",
                    "nullable": true
                  },
                  "secretaryContactDetails": {
                    "type": "string",
                    "nullable": true
                  },
                  "sourceOfClient": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      "REFERRAL_CLUB_OFFICER",
                      "WEBSITE",
                      "FACEBOOK",
                      "REFERRAL_GOLFER",
                      "REFERRAL_OLD_CLIENT",
                      "OLD_LISTINGS",
                      "OLD_CLIENT",
                      "REFERRAL_COLLEAGUE",
                      "CLIENT",
                      "TOURNAMENT",
                      "INSTAGRAM"
                    ]
                  },
                  "contactPerson": {
                    "type": "string",
                    "nullable": true
                  },
                  "designation": {
                    "type": "string",
                    "nullable": true
                  },
                  "corporateContactDetails": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.update"
      },
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "findById",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.findById"
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientsController.findById"
      }
    },
    "/api/v1/clients": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "create",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "clientType"
                ],
                "properties": {
                  "clientType": {
                    "type": "string",
                    "enum": [
                      "INDIVIDUAL",
                      "CORPORATE"
                    ]
                  },
                  "individualName": {
                    "type": "string"
                  },
                  "individualCompanyName": {
                    "type": "string",
                    "nullable": true
                  },
                  "individualPosition": {
                    "type": "string",
                    "nullable": true
                  },
                  "companyName": {
                    "type": "string"
                  },
                  "spouseName": {
                    "type": "string"
                  },
                  "tin": {
                    "type": "string"
                  },
                  "birthday": {
                    "type": "string",
                    "format": "date"
                  },
                  "secretaryName": {
                    "type": "string"
                  },
                  "secretaryContactDetails": {
                    "type": "string"
                  },
                  "sourceOfClient": {
                    "type": "string",
                    "enum": [
                      "REFERRAL_CLUB_OFFICER",
                      "WEBSITE",
                      "FACEBOOK",
                      "REFERRAL_GOLFER",
                      "REFERRAL_OLD_CLIENT",
                      "OLD_LISTINGS",
                      "OLD_CLIENT",
                      "REFERRAL_COLLEAGUE",
                      "CLIENT",
                      "TOURNAMENT",
                      "INSTAGRAM"
                    ]
                  },
                  "contactPerson": {
                    "type": "string"
                  },
                  "designation": {
                    "type": "string"
                  },
                  "corporateContactDetails": {
                    "type": "string"
                  },
                  "ownerSalesmanId": {
                    "type": "string"
                  },
                  "teamId": {
                    "type": "string"
                  },
                  "contacts": {
                    "type": "array",
                    "maxItems": 20,
                    "items": {
                      "type": "object",
                      "required": [
                        "type",
                        "value"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "MOBILE",
                            "EMAIL",
                            "PHONE",
                            "VIBER",
                            "OTHER"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1
                        },
                        "label": {
                          "type": "string"
                        },
                        "isPrimary": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "addresses": {
                    "type": "array",
                    "maxItems": 20,
                    "items": {
                      "type": "object",
                      "required": [
                        "type",
                        "addressLine"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "minLength": 1
                        },
                        "addressLine": {
                          "type": "string",
                          "minLength": 1
                        },
                        "city": {
                          "type": "string"
                        },
                        "province": {
                          "type": "string"
                        },
                        "postalCode": {
                          "type": "string"
                        },
                        "countryCode": {
                          "type": "string",
                          "pattern": "^[A-Za-z]{2}$"
                        },
                        "isPrimary": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "memberships": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "required": [
                        "clubId"
                      ],
                      "properties": {
                        "clubId": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "membershipNumber": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "tags": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ClientsController.create"
      },
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "list",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClientsController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ownerSalesmanId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientsController.list"
      }
    },
    "/api/v1/clubs/availability": {
      "get": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "availability",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.availability"
          }
        },
        "parameters": [
          {
            "name": "clubCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeClubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClubsController.availability"
      }
    },
    "/api/v1/clubs/{clubId}/archive": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "archive",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.archive"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClubsController.archive"
      }
    },
    "/api/v1/clubs/{clubId}/membership-policy": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "setMembershipPolicy",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.setMembershipPolicy"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "stages"
                ],
                "properties": {
                  "effectiveFrom": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "changeReason": {
                    "type": "string",
                    "maxLength": 1000
                  },
                  "stages": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "clubSubmission",
                      "posting",
                      "interview",
                      "boardApproval",
                      "membershipCard",
                      "stockCertificate"
                    ],
                    "properties": {
                      "clubSubmission": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "OPTIONAL",
                          "NOT_APPLICABLE"
                        ]
                      },
                      "posting": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "OPTIONAL",
                          "NOT_APPLICABLE"
                        ]
                      },
                      "interview": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "OPTIONAL",
                          "NOT_APPLICABLE"
                        ]
                      },
                      "boardApproval": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "OPTIONAL",
                          "NOT_APPLICABLE"
                        ]
                      },
                      "membershipCard": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "OPTIONAL",
                          "NOT_APPLICABLE"
                        ]
                      },
                      "stockCertificate": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "OPTIONAL",
                          "NOT_APPLICABLE"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClubsController.setMembershipPolicy"
      },
      "get": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "membershipPolicy",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.membershipPolicy"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClubsController.membershipPolicy"
      }
    },
    "/api/v1/clubs/{clubId}/restore": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "restore",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.restore"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClubsController.restore"
      }
    },
    "/api/v1/clubs/{clubId}/share-classes/{classCode}/archive": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "archiveShareClass",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.archiveShareClass"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "classCode",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClubsController.archiveShareClass"
      }
    },
    "/api/v1/clubs/{clubId}/share-classes/{classCode}/restore": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "restoreShareClass",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.restoreShareClass"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "classCode",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClubsController.restoreShareClass"
      }
    },
    "/api/v1/clubs/{clubId}/share-classes/{classCode}": {
      "patch": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "updateShareClass",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.updateShareClass"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "classCode",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ClubsController.updateShareClass"
      }
    },
    "/api/v1/clubs/{clubId}/share-classes": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "addShareClass",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.addShareClass"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "classCode",
                  "name"
                ],
                "properties": {
                  "classCode": {
                    "type": "string",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClubsController.addShareClass"
      }
    },
    "/api/v1/clubs/{clubId}": {
      "patch": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "update",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.update"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string"
                  },
                  "holes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999,
                    "nullable": true
                  },
                  "address": {
                    "type": "string",
                    "maxLength": 500,
                    "nullable": true
                  },
                  "developer": {
                    "type": "string",
                    "maxLength": 300,
                    "nullable": true
                  },
                  "region": {
                    "type": "string",
                    "enum": [
                      "National Capital Region (NCR)",
                      "Cordillera Administrative Region (CAR)",
                      "Region I - Ilocos Region",
                      "Region II - Cagayan Valley",
                      "Region III - Central Luzon",
                      "Region IV-A - CALABARZON",
                      "MIMAROPA Region",
                      "Region V - Bicol Region",
                      "Region VI - Western Visayas",
                      "Negros Island Region (NIR)",
                      "Region VII - Central Visayas",
                      "Region VIII - Eastern Visayas",
                      "Region IX - Zamboanga Peninsula",
                      "Region X - Northern Mindanao",
                      "Region XI - Davao Region",
                      "Region XII - SOCCSKSARGEN",
                      "Region XIII - Caraga",
                      "Bangsamoro Autonomous Region in Muslim Mindanao (BARMM)"
                    ],
                    "nullable": true
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClubsController.update"
      },
      "get": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "findById",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.findById"
          }
        },
        "parameters": [
          {
            "name": "clubId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClubsController.findById"
      }
    },
    "/api/v1/clubs": {
      "post": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "create",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "clubCode",
                  "name"
                ],
                "properties": {
                  "clubCode": {
                    "type": "string",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string"
                  },
                  "holes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999,
                    "nullable": true
                  },
                  "address": {
                    "type": "string",
                    "maxLength": 500,
                    "nullable": true
                  },
                  "developer": {
                    "type": "string",
                    "maxLength": 300,
                    "nullable": true
                  },
                  "region": {
                    "type": "string",
                    "enum": [
                      "National Capital Region (NCR)",
                      "Cordillera Administrative Region (CAR)",
                      "Region I - Ilocos Region",
                      "Region II - Cagayan Valley",
                      "Region III - Central Luzon",
                      "Region IV-A - CALABARZON",
                      "MIMAROPA Region",
                      "Region V - Bicol Region",
                      "Region VI - Western Visayas",
                      "Negros Island Region (NIR)",
                      "Region VII - Central Visayas",
                      "Region VIII - Eastern Visayas",
                      "Region IX - Zamboanga Peninsula",
                      "Region X - Northern Mindanao",
                      "Region XI - Davao Region",
                      "Region XII - SOCCSKSARGEN",
                      "Region XIII - Caraga",
                      "Bangsamoro Autonomous Region in Muslim Mindanao (BARMM)"
                    ],
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "ClubsController.create"
      },
      "get": {
        "x-controller-name": "ClubsController",
        "x-operation-name": "list",
        "tags": [
          "ClubsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ClubsController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClubsController.list"
      }
    },
    "/api/v1/follow-ups/calendar": {
      "get": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "calendar",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.calendar"
          }
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ActivitiesController.calendar"
      }
    },
    "/api/v1/follow-ups/due": {
      "get": {
        "x-controller-name": "ActivitiesController",
        "x-operation-name": "due",
        "tags": [
          "ActivitiesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ActivitiesController.due"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ActivitiesController.due"
      }
    },
    "/api/v1/inquiries/{inquiryId}/archive": {
      "post": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "archive",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.archive"
          }
        },
        "parameters": [
          {
            "name": "inquiryId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InquiriesController.archive"
      }
    },
    "/api/v1/inquiries/{inquiryId}/assign": {
      "post": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "assign",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.assign"
          }
        },
        "parameters": [
          {
            "name": "inquiryId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "assignedUserId",
                  "teamId"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "assignedUserId": {
                    "type": "string"
                  },
                  "teamId": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InquiriesController.assign"
      }
    },
    "/api/v1/inquiries/{inquiryId}/convert-to-client": {
      "post": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "convertToClient",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.convertToClient"
          }
        },
        "parameters": [
          {
            "name": "inquiryId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "decision"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "decision": {
                    "type": "string",
                    "enum": [
                      "CREATE_NEW",
                      "LINK_EXISTING"
                    ]
                  },
                  "clientId": {
                    "type": "string"
                  },
                  "clientType": {
                    "type": "string",
                    "enum": [
                      "INDIVIDUAL",
                      "CORPORATE"
                    ]
                  },
                  "individualName": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "companyName": {
                    "type": "string",
                    "maxLength": 160
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InquiriesController.convertToClient"
      }
    },
    "/api/v1/inquiries/{inquiryId}/convert-to-listing": {
      "post": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "convertToListing",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.convertToListing"
          }
        },
        "parameters": [
          {
            "name": "inquiryId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "decision",
                  "clubId",
                  "shareClassCode",
                  "role",
                  "transactionType",
                  "price"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "decision": {
                    "type": "string",
                    "enum": [
                      "CREATE_NEW",
                      "LINK_EXISTING"
                    ]
                  },
                  "clientId": {
                    "type": "string"
                  },
                  "clientType": {
                    "type": "string",
                    "enum": [
                      "INDIVIDUAL",
                      "CORPORATE"
                    ]
                  },
                  "individualName": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "companyName": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "clubId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "shareClassCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 20
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "BUYER",
                      "SELLER",
                      "LESSOR",
                      "LESSEE",
                      "ASSIGNOR",
                      "ASSIGNEE"
                    ]
                  },
                  "transactionType": {
                    "type": "string",
                    "enum": [
                      "SALE",
                      "LEASE",
                      "ASSIGNMENT"
                    ]
                  },
                  "price": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "amount"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "BUDGET",
                          "ASKING",
                          "NET",
                          "GROSS",
                          "RENTAL"
                        ]
                      },
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3
                      },
                      "negotiable": {
                        "type": "boolean"
                      }
                    }
                  },
                  "initialInformationAnswers": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fieldId",
                        "checked"
                      ],
                      "properties": {
                        "fieldId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "checked": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "remarksSummary": {
                    "type": "string",
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InquiriesController.convertToListing"
      }
    },
    "/api/v1/inquiries/{inquiryId}": {
      "patch": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "update",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.update"
          }
        },
        "parameters": [
          {
            "name": "inquiryId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "NEW",
                      "ASSIGNED",
                      "CONTACTED",
                      "QUALIFIED",
                      "CONVERTED",
                      "CLOSED",
                      "ARCHIVED"
                    ]
                  },
                  "notes": {
                    "type": "string",
                    "maxLength": 4000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InquiriesController.update"
      },
      "get": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "findById",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.findById"
          }
        },
        "parameters": [
          {
            "name": "inquiryId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InquiriesController.findById"
      }
    },
    "/api/v1/inquiries": {
      "get": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "list",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InquiriesController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignment",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "InquiriesController.list"
      }
    },
    "/api/v1/listings/bulk/archive": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "bulkArchive",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Per-Listing bulk mutation results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "listingId",
                      "success"
                    ],
                    "properties": {
                      "listingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "success": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "error": {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "details": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "items"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "listingId",
                        "expectedVersion"
                      ],
                      "properties": {
                        "listingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "expectedVersion": {
                          "type": "integer",
                          "minimum": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingsController.bulkArchive"
      }
    },
    "/api/v1/listings/bulk/assign": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "bulkAssign",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Per-Listing bulk mutation results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "listingId",
                      "success"
                    ],
                    "properties": {
                      "listingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "success": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "error": {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "details": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "items",
                  "ownerSalesmanId",
                  "teamId"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "listingId",
                        "expectedVersion"
                      ],
                      "properties": {
                        "listingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "expectedVersion": {
                          "type": "integer",
                          "minimum": 1
                        }
                      }
                    }
                  },
                  "ownerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "teamId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingsController.bulkAssign"
      }
    },
    "/api/v1/listings/bulk/status": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "bulkStatus",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Per-Listing bulk mutation results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "listingId",
                      "success"
                    ],
                    "properties": {
                      "listingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "success": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "error": {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "details": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "items",
                  "status"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "listingId",
                        "expectedVersion"
                      ],
                      "properties": {
                        "listingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "expectedVersion": {
                          "type": "integer",
                          "minimum": 1
                        }
                      }
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "OPEN",
                      "MATCHED",
                      "NEGOTIATING",
                      "ON_HOLD",
                      "CLOSED",
                      "CANCELLED",
                      "EXPIRED"
                    ]
                  },
                  "reason": {
                    "type": "string",
                    "maxLength": 500
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingsController.bulkStatus"
      }
    },
    "/api/v1/listings/create-context": {
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "createContext",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Authorized Team choices for manual Listing creation.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "teams",
                    "requiresTeamSelection"
                  ],
                  "properties": {
                    "teams": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "teamId",
                          "name"
                        ],
                        "properties": {
                          "teamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "requiresTeamSelection": {
                      "type": "boolean"
                    },
                    "autoSelectedTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingsController.createContext"
      }
    },
    "/api/v1/listings/owner-options": {
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "ownerOptions",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Listing owners visible inside the caller scope.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "ownerSalesmanId",
                      "displayName",
                      "username",
                      "status",
                      "listingCount"
                    ],
                    "properties": {
                      "ownerSalesmanId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "displayName": {
                        "type": "string"
                      },
                      "username": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "INVITED",
                          "ACTIVE",
                          "BLOCKED",
                          "ARCHIVED"
                        ]
                      },
                      "listingCount": {
                        "type": "integer",
                        "minimum": 0
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archivedOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "ListingsController.ownerOptions"
      }
    },
    "/api/v1/listings/stats": {
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "stats",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing counts.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "total",
                    "byStatus",
                    "byRole",
                    "byClubId"
                  ],
                  "properties": {
                    "total": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "byStatus": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "integer"
                      }
                    },
                    "byRole": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "integer"
                      }
                    },
                    "byClubId": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownerSalesmanId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minPrice",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxPrice",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archivedOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "matchingFilter",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "ANY",
                "COMPATIBLE",
                "EXISTING",
                "BOTH"
              ]
            }
          },
          {
            "name": "approvalState",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "NOT_APPROVED"
              ]
            }
          }
        ],
        "operationId": "ListingsController.stats"
      }
    },
    "/api/v1/listings/{listingId}/approval-history": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "listingApprovalHistory",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Append-only approval/lift history involving one Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "action",
                      "matchId",
                      "matchNumber",
                      "primaryListingId",
                      "primaryRole",
                      "counterpartyListingId",
                      "counterpartyRole",
                      "shareClassCode",
                      "performedByUserId",
                      "performedByName",
                      "occurredAt",
                      "listingId",
                      "counterpartListingId",
                      "counterpartRole"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "APPROVED",
                          "APPROVAL_LIFTED"
                        ]
                      },
                      "matchId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "matchNumber": {
                        "type": "string"
                      },
                      "primaryListingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "primaryListingNumber": {
                        "type": "string"
                      },
                      "primaryRole": {
                        "type": "string"
                      },
                      "primaryClientName": {
                        "type": "string"
                      },
                      "counterpartyListingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "counterpartyListingNumber": {
                        "type": "string"
                      },
                      "counterpartyRole": {
                        "type": "string"
                      },
                      "counterpartyClientName": {
                        "type": "string"
                      },
                      "clubName": {
                        "type": "string"
                      },
                      "shareClassCode": {
                        "type": "string"
                      },
                      "shareClassName": {
                        "type": "string"
                      },
                      "performedByUserId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$",
                        "nullable": true
                      },
                      "performedByName": {
                        "type": "string"
                      },
                      "performedByUsername": {
                        "type": "string"
                      },
                      "occurredAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "reason": {
                        "type": "string"
                      },
                      "listingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "counterpartListingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "counterpartListingNumber": {
                        "type": "string"
                      },
                      "counterpartRole": {
                        "type": "string"
                      },
                      "counterpartClientName": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingMatchesController.listingApprovalHistory"
      }
    },
    "/api/v1/listings/{listingId}/archive": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "archive",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "204": {
            "description": "Listing archived successfully with no response body."
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.archive"
      }
    },
    "/api/v1/listings/{listingId}/assign": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "assign",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "ownerSalesmanId",
                  "teamId"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "ownerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "teamId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.assign"
      }
    },
    "/api/v1/listings/{listingId}/change-history": {
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "changeHistory",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Append-only Listing terms and commercial-term change history.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "action",
                      "listingId",
                      "listingNumber",
                      "performedByUserId",
                      "performedByName",
                      "occurredAt",
                      "changes"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "LISTING_TERMS_UPDATED",
                          "LISTING_COMMERCIAL_TERMS_UPDATED"
                        ]
                      },
                      "listingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "listingNumber": {
                        "type": "string"
                      },
                      "performedByUserId": {
                        "type": "string",
                        "nullable": true
                      },
                      "performedByName": {
                        "type": "string"
                      },
                      "performedByUsername": {
                        "type": "string"
                      },
                      "occurredAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "changes": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "field",
                            "label",
                            "from",
                            "to",
                            "fromDisplay",
                            "toDisplay"
                          ],
                          "properties": {
                            "field": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "from": {
                              "nullable": true
                            },
                            "to": {
                              "nullable": true
                            },
                            "fromDisplay": {
                              "type": "string"
                            },
                            "toDisplay": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingsController.changeHistory"
      }
    },
    "/api/v1/listings/{listingId}/duplicate": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "duplicate",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "shareClassCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 20
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "BUYER",
                      "SELLER",
                      "LESSOR",
                      "LESSEE",
                      "ASSIGNOR",
                      "ASSIGNEE"
                    ]
                  },
                  "transactionType": {
                    "type": "string",
                    "enum": [
                      "SALE",
                      "LEASE",
                      "ASSIGNMENT"
                    ]
                  },
                  "price": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "amount"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "BUDGET",
                          "ASKING",
                          "NET",
                          "GROSS",
                          "RENTAL"
                        ]
                      },
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "pattern": "^[A-Za-z]{3}$"
                      },
                      "negotiable": {
                        "type": "boolean"
                      }
                    }
                  },
                  "readyToPay": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.duplicate"
      }
    },
    "/api/v1/listings/{listingId}/follow-ups": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "addFollowUp",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Listing Activity.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Activity"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "summary",
                  "nextFollowUpAt"
                ],
                "properties": {
                  "summary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "details": {
                    "type": "string",
                    "maxLength": 4000
                  },
                  "occurredAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.addFollowUp"
      }
    },
    "/api/v1/listings/{listingId}/initial-information": {
      "patch": {
        "x-controller-name": "WorkableInitialInformationController",
        "x-operation-name": "update",
        "tags": [
          "WorkableInitialInformationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableInitialInformationController.update"
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "answers"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "answers": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fieldId",
                        "checked"
                      ],
                      "properties": {
                        "fieldId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "checked": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkableInitialInformationController.update"
      },
      "get": {
        "x-controller-name": "WorkableInitialInformationController",
        "x-operation-name": "getStatus",
        "tags": [
          "WorkableInitialInformationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableInitialInformationController.getStatus"
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkableInitialInformationController.getStatus"
      }
    },
    "/api/v1/listings/{listingId}/match-candidates": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "matchCandidates",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Cursor page of compatible, contact-safe Match candidates.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "listingId",
                          "listingNumber",
                          "clubId",
                          "shareClassCode",
                          "role",
                          "transactionType",
                          "price",
                          "readyToPay",
                          "ownerSalesmanId",
                          "teamId",
                          "matchingRequirements",
                          "status",
                          "version",
                          "updatedAt"
                        ],
                        "properties": {
                          "listingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "listingNumber": {
                            "type": "string"
                          },
                          "clientName": {
                            "type": "string"
                          },
                          "clientType": {
                            "type": "string",
                            "enum": [
                              "INDIVIDUAL",
                              "CORPORATE"
                            ]
                          },
                          "clubId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "shareClassCode": {
                            "type": "string"
                          },
                          "role": {
                            "type": "string"
                          },
                          "transactionType": {
                            "type": "string",
                            "enum": [
                              "SALE",
                              "LEASE",
                              "ASSIGNMENT"
                            ]
                          },
                          "price": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "readyToPay": {
                            "type": "boolean"
                          },
                          "ownerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "ownerSalesmanName": {
                            "type": "string"
                          },
                          "ownerSalesmanUsername": {
                            "type": "string"
                          },
                          "teamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "teamName": {
                            "type": "string"
                          },
                          "remarksSummary": {
                            "type": "string",
                            "maxLength": 500
                          },
                          "matchingRequirements": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "requirement",
                                "checked"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "requirement": {
                                  "type": "string",
                                  "enum": [
                                    "REQUIRED",
                                    "OPTIONAL"
                                  ]
                                },
                                "checked": {
                                  "type": "boolean"
                                }
                              }
                            }
                          },
                          "status": {
                            "type": "string"
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "required": [
                        "limit",
                        "nextCursor",
                        "hasMore"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        },
                        "total": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priceToleranceType",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "AMOUNT",
                "PERCENT"
              ]
            }
          },
          {
            "name": "priceToleranceValue",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "readyToPay",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "bestPriceFirst",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "closestPriceFirst",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "ListingMatchesController.matchCandidates"
      }
    },
    "/api/v1/listings/{listingId}/matching-commercial-terms": {
      "patch": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "updateMatchingCommercialTerms",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Matching-only listing commercial terms",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "role",
                    "price",
                    "readyToPay",
                    "matchingRequirements",
                    "matchingEligibility",
                    "requiredChecklistCount",
                    "completedRequiredChecklistCount",
                    "status",
                    "version",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "matchingRequirements": {
                      "type": "array",
                      "maxItems": 50,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "requirement",
                          "checked"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "requirement": {
                            "type": "string",
                            "enum": [
                              "REQUIRED",
                              "OPTIONAL"
                            ]
                          },
                          "checked": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "price": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "amount"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "BUDGET",
                          "ASKING",
                          "NET",
                          "GROSS",
                          "RENTAL"
                        ]
                      },
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "pattern": "^[A-Za-z]{3}$"
                      },
                      "negotiable": {
                        "type": "boolean"
                      }
                    }
                  },
                  "readyToPay": {
                    "type": "boolean"
                  },
                  "initialInformationAnswers": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fieldId",
                        "checked"
                      ],
                      "properties": {
                        "fieldId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "checked": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.updateMatchingCommercialTerms"
      },
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "getMatchingCommercialTerms",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Matching-only listing commercial terms",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "role",
                    "price",
                    "readyToPay",
                    "matchingRequirements",
                    "matchingEligibility",
                    "requiredChecklistCount",
                    "completedRequiredChecklistCount",
                    "status",
                    "version",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "matchingRequirements": {
                      "type": "array",
                      "maxItems": 50,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "requirement",
                          "checked"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "requirement": {
                            "type": "string",
                            "enum": [
                              "REQUIRED",
                              "OPTIONAL"
                            ]
                          },
                          "checked": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingsController.getMatchingCommercialTerms"
      }
    },
    "/api/v1/listings/{listingId}/notes": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "addNote",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Listing Activity.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Activity"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "summary"
                ],
                "properties": {
                  "summary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "details": {
                    "type": "string",
                    "maxLength": 4000
                  },
                  "occurredAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.addNote"
      }
    },
    "/api/v1/listings/{listingId}/restore": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "restore",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.restore"
      }
    },
    "/api/v1/listings/{listingId}/status": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "changeStatus",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "status"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "OPEN",
                      "MATCHED",
                      "NEGOTIATING",
                      "ON_HOLD",
                      "CLOSED",
                      "CANCELLED",
                      "EXPIRED"
                    ]
                  },
                  "reason": {
                    "type": "string",
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.changeStatus"
      }
    },
    "/api/v1/listings/{listingId}/timeline": {
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "timeline",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Cursor page of scoped Listing Activities.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "page": {
                      "type": "object",
                      "required": [
                        "limit",
                        "nextCursor",
                        "hasMore"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ListingsController.timeline"
      }
    },
    "/api/v1/listings/{listingId}/transfer-owner": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "transferOwner",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "ownerSalesmanId",
                  "teamId",
                  "reason"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "ownerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "teamId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.transferOwner"
      }
    },
    "/api/v1/listings/{listingId}": {
      "patch": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "update",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "clubId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "shareClassCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 20
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "BUYER",
                      "SELLER",
                      "LESSOR",
                      "LESSEE",
                      "ASSIGNOR",
                      "ASSIGNEE"
                    ]
                  },
                  "transactionType": {
                    "type": "string",
                    "enum": [
                      "SALE",
                      "LEASE",
                      "ASSIGNMENT"
                    ]
                  },
                  "price": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "amount"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "BUDGET",
                          "ASKING",
                          "NET",
                          "GROSS",
                          "RENTAL"
                        ]
                      },
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "pattern": "^[A-Za-z]{3}$"
                      },
                      "negotiable": {
                        "type": "boolean"
                      }
                    }
                  },
                  "readyToPay": {
                    "type": "boolean"
                  },
                  "source": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "code"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 40
                      },
                      "details": {
                        "type": "string",
                        "maxLength": 200
                      }
                    }
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "remarksSummary": {
                    "type": "string",
                    "maxLength": 500
                  },
                  "initialInformationAnswers": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fieldId",
                        "checked"
                      ],
                      "properties": {
                        "fieldId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "checked": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingsController.update"
      },
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "findById",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingsController.findById"
      }
    },
    "/api/v1/listings": {
      "post": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "create",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Listing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "listingNumber",
                    "clientId",
                    "clubId",
                    "shareClassCode",
                    "role",
                    "transactionType",
                    "price",
                    "readyToPay",
                    "ownerSalesmanId",
                    "teamId",
                    "source",
                    "status",
                    "statusChangedAt",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "listingNumber": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clientName": {
                      "type": "string"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "BUYER",
                        "SELLER",
                        "LESSOR",
                        "LESSEE",
                        "ASSIGNOR",
                        "ASSIGNEE"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "price": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "BUDGET",
                            "ASKING",
                            "NET",
                            "GROSS",
                            "RENTAL"
                          ]
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Za-z]{3}$"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "readyToPay": {
                      "type": "boolean"
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40
                        },
                        "details": {
                          "type": "string",
                          "maxLength": 200
                        }
                      }
                    },
                    "nextFollowUpAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "remarksSummary": {
                      "type": "string",
                      "maxLength": 500
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "matchingEligibility": {
                      "type": "string",
                      "enum": [
                        "MATCH_READY",
                        "INCOMPLETE",
                        "LEGACY_EXEMPT"
                      ]
                    },
                    "evaluatedChecklistVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "requiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "completedRequiredChecklistCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "checklistEvaluatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "ownerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ownerSalesmanName": {
                      "type": "string"
                    },
                    "ownerSalesmanUsername": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "teamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "MATCHED",
                        "NEGOTIATING",
                        "ON_HOLD",
                        "CONVERTED_TO_TRANSACTION",
                        "CLOSED",
                        "CANCELLED",
                        "EXPIRED",
                        "ARCHIVED"
                      ]
                    },
                    "statusChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "compatibleMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "listingMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "hasApprovedMatch": {
                      "type": "boolean"
                    },
                    "totalMatchingCount": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "approvedMatchSummary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status",
                        "counterpartListingId",
                        "counterpartListingNumber",
                        "counterpartRole",
                        "shareClassCode",
                        "price",
                        "readyToPay"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "APPROVED"
                          ]
                        },
                        "counterpartListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartListingNumber": {
                          "type": "string"
                        },
                        "counterpartRole": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "counterpartClientName": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string",
                              "minLength": 3,
                              "maxLength": 3,
                              "pattern": "^[A-Za-z]{3}$"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "readyToPay": {
                          "type": "boolean"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "commercialTermsLocked": {
                      "type": "boolean"
                    },
                    "contactDetailsRestricted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "clientId",
                  "clubId",
                  "shareClassCode",
                  "role",
                  "transactionType",
                  "price",
                  "source"
                ],
                "properties": {
                  "clientId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "clubId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "shareClassCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 20
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "BUYER",
                      "SELLER",
                      "LESSOR",
                      "LESSEE",
                      "ASSIGNOR",
                      "ASSIGNEE"
                    ]
                  },
                  "transactionType": {
                    "type": "string",
                    "enum": [
                      "SALE",
                      "LEASE",
                      "ASSIGNMENT"
                    ]
                  },
                  "price": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "amount"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "BUDGET",
                          "ASKING",
                          "NET",
                          "GROSS",
                          "RENTAL"
                        ]
                      },
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "pattern": "^[A-Za-z]{3}$"
                      },
                      "negotiable": {
                        "type": "boolean"
                      }
                    }
                  },
                  "readyToPay": {
                    "type": "boolean"
                  },
                  "source": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "code"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 40
                      },
                      "details": {
                        "type": "string",
                        "maxLength": 200
                      }
                    }
                  },
                  "nextFollowUpAt": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "remarksSummary": {
                    "type": "string",
                    "maxLength": 500
                  },
                  "initialInformationAnswers": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fieldId",
                        "checked"
                      ],
                      "properties": {
                        "fieldId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "checked": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "ownerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "teamId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingsController.create"
      },
      "get": {
        "x-controller-name": "ListingsController",
        "x-operation-name": "list",
        "tags": [
          "ListingsController"
        ],
        "responses": {
          "200": {
            "description": "Cursor page of scoped Listings.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "listingNumber",
                          "clientId",
                          "clubId",
                          "shareClassCode",
                          "role",
                          "transactionType",
                          "price",
                          "readyToPay",
                          "ownerSalesmanId",
                          "teamId",
                          "source",
                          "status",
                          "statusChangedAt",
                          "version",
                          "createdAt",
                          "updatedAt"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "listingNumber": {
                            "type": "string"
                          },
                          "clientId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "clientName": {
                            "type": "string"
                          },
                          "clubId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "shareClassCode": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 20
                          },
                          "role": {
                            "type": "string",
                            "enum": [
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "transactionType": {
                            "type": "string",
                            "enum": [
                              "SALE",
                              "LEASE",
                              "ASSIGNMENT"
                            ]
                          },
                          "price": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "BUDGET",
                                  "ASKING",
                                  "NET",
                                  "GROSS",
                                  "RENTAL"
                                ]
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "pattern": "^[A-Za-z]{3}$"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "readyToPay": {
                            "type": "boolean"
                          },
                          "source": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "code"
                            ],
                            "properties": {
                              "code": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 40
                              },
                              "details": {
                                "type": "string",
                                "maxLength": 200
                              }
                            }
                          },
                          "nextFollowUpAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "remarksSummary": {
                            "type": "string",
                            "maxLength": 500
                          },
                          "clubName": {
                            "type": "string"
                          },
                          "shareClassName": {
                            "type": "string"
                          },
                          "matchingEligibility": {
                            "type": "string",
                            "enum": [
                              "MATCH_READY",
                              "INCOMPLETE",
                              "LEGACY_EXEMPT"
                            ]
                          },
                          "evaluatedChecklistVersion": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "requiredChecklistCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "completedRequiredChecklistCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "checklistEvaluatedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "ownerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "ownerSalesmanName": {
                            "type": "string"
                          },
                          "ownerSalesmanUsername": {
                            "type": "string"
                          },
                          "teamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "teamName": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "OPEN",
                              "MATCHED",
                              "NEGOTIATING",
                              "ON_HOLD",
                              "CONVERTED_TO_TRANSACTION",
                              "CLOSED",
                              "CANCELLED",
                              "EXPIRED",
                              "ARCHIVED"
                            ]
                          },
                          "statusChangedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "archivedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "compatibleMatchCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "listingMatchCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "approvedMatchCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "hasApprovedMatch": {
                            "type": "boolean"
                          },
                          "totalMatchingCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "approvedMatchSummary": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "status",
                              "counterpartListingId",
                              "counterpartListingNumber",
                              "counterpartRole",
                              "shareClassCode",
                              "price",
                              "readyToPay"
                            ],
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "APPROVED"
                                ]
                              },
                              "counterpartListingId": {
                                "type": "string",
                                "minLength": 24,
                                "maxLength": 24,
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "counterpartListingNumber": {
                                "type": "string"
                              },
                              "counterpartRole": {
                                "type": "string",
                                "enum": [
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "counterpartClientName": {
                                "type": "string"
                              },
                              "clubName": {
                                "type": "string"
                              },
                              "shareClassCode": {
                                "type": "string"
                              },
                              "shareClassName": {
                                "type": "string"
                              },
                              "price": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "type",
                                  "amount",
                                  "currency",
                                  "negotiable"
                                ],
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "BUDGET",
                                      "ASKING",
                                      "NET",
                                      "GROSS",
                                      "RENTAL"
                                    ]
                                  },
                                  "amount": {
                                    "type": "string"
                                  },
                                  "currency": {
                                    "type": "string",
                                    "minLength": 3,
                                    "maxLength": 3,
                                    "pattern": "^[A-Za-z]{3}$"
                                  },
                                  "negotiable": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "readyToPay": {
                                "type": "boolean"
                              },
                              "approvedAt": {
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                              }
                            }
                          },
                          "commercialTermsLocked": {
                            "type": "boolean"
                          },
                          "contactDetailsRestricted": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "required": [
                        "limit",
                        "nextCursor",
                        "hasMore"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownerSalesmanId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minPrice",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxPrice",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archivedOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "matchingFilter",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "ANY",
                "COMPATIBLE",
                "EXISTING",
                "BOTH"
              ]
            }
          },
          {
            "name": "matchingSort",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "MATCHING_DESC"
              ]
            }
          },
          {
            "name": "approvalState",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "NOT_APPROVED"
              ]
            }
          }
        ],
        "operationId": "ListingsController.list"
      }
    },
    "/api/v1/matches/approved-pending-transaction/count": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "approvedPendingTransactionCount",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Count of approved Matches visible to the caller that are still eligible for Transaction conversion.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "count"
                  ],
                  "properties": {
                    "count": {
                      "type": "integer",
                      "minimum": 0
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingMatchesController.approvedPendingTransactionCount"
      }
    },
    "/api/v1/matches/{matchId}/alternative-review": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "approvedMatchAlternativeReview",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Read-only final review of the current approved Match, compatible Listing alternatives, and existing Match relationships.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "currentMatch",
                    "compatibleMatches",
                    "existingMatches"
                  ],
                  "properties": {
                    "currentMatch": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "matchNumber",
                        "primaryListingId",
                        "counterpartyListingId",
                        "clubId",
                        "shareClassCode",
                        "transactionType",
                        "primaryRole",
                        "counterpartyRole",
                        "primaryPrice",
                        "counterpartyPrice",
                        "primaryOwnerSalesmanId",
                        "counterpartyOwnerSalesmanId",
                        "primaryTeamId",
                        "counterpartyTeamId",
                        "participantSalesmanIds",
                        "participantTeamIds",
                        "managerId",
                        "status",
                        "revealStatus",
                        "version",
                        "createdAt",
                        "updatedAt"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "matchNumber": {
                          "type": "string"
                        },
                        "primaryListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "primaryListingNumber": {
                          "type": "string"
                        },
                        "primaryListingArchived": {
                          "type": "boolean"
                        },
                        "counterpartyListingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartyListingNumber": {
                          "type": "string"
                        },
                        "counterpartyListingArchived": {
                          "type": "boolean"
                        },
                        "primaryClientName": {
                          "type": "string"
                        },
                        "primaryClientType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "CORPORATE"
                          ]
                        },
                        "primaryReadyToPay": {
                          "type": "boolean"
                        },
                        "counterpartyClientName": {
                          "type": "string"
                        },
                        "counterpartyClientType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "CORPORATE"
                          ]
                        },
                        "counterpartyReadyToPay": {
                          "type": "boolean"
                        },
                        "clubId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "clubCode": {
                          "type": "string"
                        },
                        "clubName": {
                          "type": "string"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "shareClassName": {
                          "type": "string"
                        },
                        "transactionType": {
                          "type": "string",
                          "enum": [
                            "SALE",
                            "LEASE",
                            "ASSIGNMENT"
                          ]
                        },
                        "primaryRole": {
                          "type": "string"
                        },
                        "counterpartyRole": {
                          "type": "string"
                        },
                        "primaryPrice": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "counterpartyPrice": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "amount": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "primaryOwnerSalesmanId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "primaryOwnerSalesmanName": {
                          "type": "string"
                        },
                        "primaryOwnerSalesmanUsername": {
                          "type": "string"
                        },
                        "counterpartyOwnerSalesmanId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartyOwnerSalesmanName": {
                          "type": "string"
                        },
                        "counterpartyOwnerSalesmanUsername": {
                          "type": "string"
                        },
                        "primaryTeamId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "primaryTeamName": {
                          "type": "string"
                        },
                        "counterpartyTeamId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "counterpartyTeamName": {
                          "type": "string"
                        },
                        "participantSalesmanIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        },
                        "participantTeamIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        },
                        "managerId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "managerName": {
                          "type": "string"
                        },
                        "managerUsername": {
                          "type": "string"
                        },
                        "createdByTeamId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "createdByTeamName": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "PENDING_APPROVAL",
                            "APPROVED",
                            "PROPOSED",
                            "BUYER_INTERESTED",
                            "SELLER_INTERESTED",
                            "NEGOTIATING",
                            "AGREED",
                            "REJECTED",
                            "CANCELLED",
                            "CONVERTED"
                          ]
                        },
                        "approvedByUserId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "approvedByUserName": {
                          "type": "string"
                        },
                        "approvedByUsername": {
                          "type": "string"
                        },
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        },
                        "approvalLiftedByUserId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "approvalLiftedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        },
                        "approvalLiftReason": {
                          "type": "string",
                          "nullable": true
                        },
                        "revealStatus": {
                          "type": "string",
                          "enum": [
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "cancellationReason": {
                          "type": "string"
                        },
                        "version": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "updatedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "cancelledAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        },
                        "convertedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "compatibleMatches": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "listingId",
                          "listingNumber",
                          "clubId",
                          "shareClassCode",
                          "role",
                          "transactionType",
                          "price",
                          "readyToPay",
                          "ownerSalesmanId",
                          "teamId",
                          "matchingRequirements",
                          "status",
                          "version",
                          "updatedAt",
                          "sourceListingId",
                          "sourceListingNumber",
                          "sourceSide"
                        ],
                        "properties": {
                          "listingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "listingNumber": {
                            "type": "string"
                          },
                          "clientName": {
                            "type": "string"
                          },
                          "clientType": {
                            "type": "string",
                            "enum": [
                              "INDIVIDUAL",
                              "CORPORATE"
                            ]
                          },
                          "clubId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "shareClassCode": {
                            "type": "string"
                          },
                          "role": {
                            "type": "string"
                          },
                          "transactionType": {
                            "type": "string",
                            "enum": [
                              "SALE",
                              "LEASE",
                              "ASSIGNMENT"
                            ]
                          },
                          "price": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "readyToPay": {
                            "type": "boolean"
                          },
                          "ownerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "ownerSalesmanName": {
                            "type": "string"
                          },
                          "ownerSalesmanUsername": {
                            "type": "string"
                          },
                          "teamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "teamName": {
                            "type": "string"
                          },
                          "remarksSummary": {
                            "type": "string",
                            "maxLength": 500
                          },
                          "matchingRequirements": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "requirement",
                                "checked"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "requirement": {
                                  "type": "string",
                                  "enum": [
                                    "REQUIRED",
                                    "OPTIONAL"
                                  ]
                                },
                                "checked": {
                                  "type": "boolean"
                                }
                              }
                            }
                          },
                          "status": {
                            "type": "string"
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "sourceListingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "sourceListingNumber": {
                            "type": "string"
                          },
                          "sourceSide": {
                            "type": "string",
                            "enum": [
                              "PRIMARY",
                              "COUNTERPARTY"
                            ]
                          }
                        }
                      }
                    },
                    "existingMatches": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "matchNumber",
                          "primaryListingId",
                          "counterpartyListingId",
                          "clubId",
                          "shareClassCode",
                          "transactionType",
                          "primaryRole",
                          "counterpartyRole",
                          "primaryPrice",
                          "counterpartyPrice",
                          "primaryOwnerSalesmanId",
                          "counterpartyOwnerSalesmanId",
                          "primaryTeamId",
                          "counterpartyTeamId",
                          "participantSalesmanIds",
                          "participantTeamIds",
                          "managerId",
                          "status",
                          "revealStatus",
                          "version",
                          "createdAt",
                          "updatedAt"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "matchNumber": {
                            "type": "string"
                          },
                          "primaryListingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "primaryListingNumber": {
                            "type": "string"
                          },
                          "primaryListingArchived": {
                            "type": "boolean"
                          },
                          "counterpartyListingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "counterpartyListingNumber": {
                            "type": "string"
                          },
                          "counterpartyListingArchived": {
                            "type": "boolean"
                          },
                          "primaryClientName": {
                            "type": "string"
                          },
                          "primaryClientType": {
                            "type": "string",
                            "enum": [
                              "INDIVIDUAL",
                              "CORPORATE"
                            ]
                          },
                          "primaryReadyToPay": {
                            "type": "boolean"
                          },
                          "counterpartyClientName": {
                            "type": "string"
                          },
                          "counterpartyClientType": {
                            "type": "string",
                            "enum": [
                              "INDIVIDUAL",
                              "CORPORATE"
                            ]
                          },
                          "counterpartyReadyToPay": {
                            "type": "boolean"
                          },
                          "clubId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "clubCode": {
                            "type": "string"
                          },
                          "clubName": {
                            "type": "string"
                          },
                          "shareClassCode": {
                            "type": "string"
                          },
                          "shareClassName": {
                            "type": "string"
                          },
                          "transactionType": {
                            "type": "string",
                            "enum": [
                              "SALE",
                              "LEASE",
                              "ASSIGNMENT"
                            ]
                          },
                          "primaryRole": {
                            "type": "string"
                          },
                          "counterpartyRole": {
                            "type": "string"
                          },
                          "primaryPrice": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "counterpartyPrice": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "primaryOwnerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "primaryOwnerSalesmanName": {
                            "type": "string"
                          },
                          "primaryOwnerSalesmanUsername": {
                            "type": "string"
                          },
                          "counterpartyOwnerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "counterpartyOwnerSalesmanName": {
                            "type": "string"
                          },
                          "counterpartyOwnerSalesmanUsername": {
                            "type": "string"
                          },
                          "primaryTeamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "primaryTeamName": {
                            "type": "string"
                          },
                          "counterpartyTeamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "counterpartyTeamName": {
                            "type": "string"
                          },
                          "participantSalesmanIds": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            }
                          },
                          "participantTeamIds": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            }
                          },
                          "managerId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "managerName": {
                            "type": "string"
                          },
                          "managerUsername": {
                            "type": "string"
                          },
                          "createdByTeamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "createdByTeamName": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING_APPROVAL",
                              "APPROVED",
                              "PROPOSED",
                              "BUYER_INTERESTED",
                              "SELLER_INTERESTED",
                              "NEGOTIATING",
                              "AGREED",
                              "REJECTED",
                              "CANCELLED",
                              "CONVERTED"
                            ]
                          },
                          "approvedByUserId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "approvedByUserName": {
                            "type": "string"
                          },
                          "approvedByUsername": {
                            "type": "string"
                          },
                          "approvedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "approvalLiftedByUserId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "approvalLiftedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "approvalLiftReason": {
                            "type": "string",
                            "nullable": true
                          },
                          "revealStatus": {
                            "type": "string",
                            "enum": [
                              "MASKED",
                              "REVEALED"
                            ]
                          },
                          "cancellationReason": {
                            "type": "string"
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "cancelledAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "convertedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingMatchesController.approvedMatchAlternativeReview"
      }
    },
    "/api/v1/matches/{matchId}/approval-history": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "matchApprovalHistory",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Append-only Match approval/lift history for authorized Matching users.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "action",
                      "matchId",
                      "matchNumber",
                      "primaryListingId",
                      "primaryRole",
                      "counterpartyListingId",
                      "counterpartyRole",
                      "shareClassCode",
                      "performedByUserId",
                      "performedByName",
                      "occurredAt"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "APPROVED",
                          "APPROVAL_LIFTED"
                        ]
                      },
                      "matchId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "matchNumber": {
                        "type": "string"
                      },
                      "primaryListingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "primaryListingNumber": {
                        "type": "string"
                      },
                      "primaryRole": {
                        "type": "string"
                      },
                      "primaryClientName": {
                        "type": "string"
                      },
                      "counterpartyListingId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "counterpartyListingNumber": {
                        "type": "string"
                      },
                      "counterpartyRole": {
                        "type": "string"
                      },
                      "counterpartyClientName": {
                        "type": "string"
                      },
                      "clubName": {
                        "type": "string"
                      },
                      "shareClassCode": {
                        "type": "string"
                      },
                      "shareClassName": {
                        "type": "string"
                      },
                      "performedByUserId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$",
                        "nullable": true
                      },
                      "performedByName": {
                        "type": "string"
                      },
                      "performedByUsername": {
                        "type": "string"
                      },
                      "occurredAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "reason": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingMatchesController.matchApprovalHistory"
      }
    },
    "/api/v1/matches/{matchId}/approve": {
      "post": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "approve",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Scoped, PII-safe Listing Match.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "matchNumber",
                    "primaryListingId",
                    "counterpartyListingId",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "primaryRole",
                    "counterpartyRole",
                    "primaryPrice",
                    "counterpartyPrice",
                    "primaryOwnerSalesmanId",
                    "counterpartyOwnerSalesmanId",
                    "primaryTeamId",
                    "counterpartyTeamId",
                    "participantSalesmanIds",
                    "participantTeamIds",
                    "managerId",
                    "status",
                    "revealStatus",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "primaryListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryListingNumber": {
                      "type": "string"
                    },
                    "primaryListingArchived": {
                      "type": "boolean"
                    },
                    "counterpartyListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyListingNumber": {
                      "type": "string"
                    },
                    "counterpartyListingArchived": {
                      "type": "boolean"
                    },
                    "primaryClientName": {
                      "type": "string"
                    },
                    "primaryClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "primaryReadyToPay": {
                      "type": "boolean"
                    },
                    "counterpartyClientName": {
                      "type": "string"
                    },
                    "counterpartyClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "counterpartyReadyToPay": {
                      "type": "boolean"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clubCode": {
                      "type": "string"
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "primaryRole": {
                      "type": "string"
                    },
                    "counterpartyRole": {
                      "type": "string"
                    },
                    "primaryPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "counterpartyPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "primaryOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryOwnerSalesmanName": {
                      "type": "string"
                    },
                    "primaryOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyOwnerSalesmanName": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "primaryTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryTeamName": {
                      "type": "string"
                    },
                    "counterpartyTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyTeamName": {
                      "type": "string"
                    },
                    "participantSalesmanIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "participantTeamIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "managerId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "managerName": {
                      "type": "string"
                    },
                    "managerUsername": {
                      "type": "string"
                    },
                    "createdByTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "createdByTeamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING_APPROVAL",
                        "APPROVED",
                        "PROPOSED",
                        "BUYER_INTERESTED",
                        "SELLER_INTERESTED",
                        "NEGOTIATING",
                        "AGREED",
                        "REJECTED",
                        "CANCELLED",
                        "CONVERTED"
                      ]
                    },
                    "approvedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvedByUserName": {
                      "type": "string"
                    },
                    "approvedByUsername": {
                      "type": "string"
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvalLiftedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "revealStatus": {
                      "type": "string",
                      "enum": [
                        "MASKED",
                        "REVEALED"
                      ]
                    },
                    "cancellationReason": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cancelledAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "convertedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "note": {
                    "type": "string",
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingMatchesController.approve"
      }
    },
    "/api/v1/matches/{matchId}/cancel": {
      "post": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "cancel",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Scoped, PII-safe Listing Match.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "matchNumber",
                    "primaryListingId",
                    "counterpartyListingId",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "primaryRole",
                    "counterpartyRole",
                    "primaryPrice",
                    "counterpartyPrice",
                    "primaryOwnerSalesmanId",
                    "counterpartyOwnerSalesmanId",
                    "primaryTeamId",
                    "counterpartyTeamId",
                    "participantSalesmanIds",
                    "participantTeamIds",
                    "managerId",
                    "status",
                    "revealStatus",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "primaryListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryListingNumber": {
                      "type": "string"
                    },
                    "primaryListingArchived": {
                      "type": "boolean"
                    },
                    "counterpartyListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyListingNumber": {
                      "type": "string"
                    },
                    "counterpartyListingArchived": {
                      "type": "boolean"
                    },
                    "primaryClientName": {
                      "type": "string"
                    },
                    "primaryClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "primaryReadyToPay": {
                      "type": "boolean"
                    },
                    "counterpartyClientName": {
                      "type": "string"
                    },
                    "counterpartyClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "counterpartyReadyToPay": {
                      "type": "boolean"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clubCode": {
                      "type": "string"
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "primaryRole": {
                      "type": "string"
                    },
                    "counterpartyRole": {
                      "type": "string"
                    },
                    "primaryPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "counterpartyPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "primaryOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryOwnerSalesmanName": {
                      "type": "string"
                    },
                    "primaryOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyOwnerSalesmanName": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "primaryTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryTeamName": {
                      "type": "string"
                    },
                    "counterpartyTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyTeamName": {
                      "type": "string"
                    },
                    "participantSalesmanIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "participantTeamIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "managerId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "managerName": {
                      "type": "string"
                    },
                    "managerUsername": {
                      "type": "string"
                    },
                    "createdByTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "createdByTeamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING_APPROVAL",
                        "APPROVED",
                        "PROPOSED",
                        "BUYER_INTERESTED",
                        "SELLER_INTERESTED",
                        "NEGOTIATING",
                        "AGREED",
                        "REJECTED",
                        "CANCELLED",
                        "CONVERTED"
                      ]
                    },
                    "approvedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvedByUserName": {
                      "type": "string"
                    },
                    "approvedByUsername": {
                      "type": "string"
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvalLiftedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "revealStatus": {
                      "type": "string",
                      "enum": [
                        "MASKED",
                        "REVEALED"
                      ]
                    },
                    "cancellationReason": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cancelledAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "convertedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "reason"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingMatchesController.cancel"
      }
    },
    "/api/v1/matches/{matchId}/convert-to-transaction": {
      "post": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "convertToTransaction",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Atomic conversion result. The created Transaction remains in DRAFT and contains no Client PII.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "matchId",
                    "matchStatus",
                    "matchVersion",
                    "transaction",
                    "listings"
                  ],
                  "properties": {
                    "matchId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchStatus": {
                      "type": "string",
                      "enum": [
                        "CONVERTED"
                      ]
                    },
                    "matchVersion": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "transaction": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "transactionId",
                        "transactionNumber",
                        "status",
                        "sourceType",
                        "sourceMatchId",
                        "clubId",
                        "shareClassCode",
                        "transactionType",
                        "currency",
                        "agreedAmount",
                        "version",
                        "createdAt"
                      ],
                      "properties": {
                        "transactionId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "transactionNumber": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "DRAFT"
                          ]
                        },
                        "sourceType": {
                          "type": "string",
                          "enum": [
                            "MATCH"
                          ]
                        },
                        "sourceMatchId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "clubId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "shareClassCode": {
                          "type": "string"
                        },
                        "transactionType": {
                          "type": "string",
                          "enum": [
                            "SALE",
                            "LEASE",
                            "ASSIGNMENT"
                          ]
                        },
                        "currency": {
                          "type": "string"
                        },
                        "agreedAmount": {
                          "type": "string"
                        },
                        "version": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    },
                    "listings": {
                      "type": "array",
                      "minItems": 2,
                      "maxItems": 2,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "listingId",
                          "status",
                          "version"
                        ],
                        "properties": {
                          "listingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "CONVERTED_TO_TRANSACTION"
                            ]
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedMatchVersion"
                ],
                "properties": {
                  "expectedMatchVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingMatchesController.convertToTransaction"
      }
    },
    "/api/v1/matches/{matchId}/lift-approval": {
      "post": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "liftApproval",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Scoped, PII-safe Listing Match.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "matchNumber",
                    "primaryListingId",
                    "counterpartyListingId",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "primaryRole",
                    "counterpartyRole",
                    "primaryPrice",
                    "counterpartyPrice",
                    "primaryOwnerSalesmanId",
                    "counterpartyOwnerSalesmanId",
                    "primaryTeamId",
                    "counterpartyTeamId",
                    "participantSalesmanIds",
                    "participantTeamIds",
                    "managerId",
                    "status",
                    "revealStatus",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "primaryListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryListingNumber": {
                      "type": "string"
                    },
                    "primaryListingArchived": {
                      "type": "boolean"
                    },
                    "counterpartyListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyListingNumber": {
                      "type": "string"
                    },
                    "counterpartyListingArchived": {
                      "type": "boolean"
                    },
                    "primaryClientName": {
                      "type": "string"
                    },
                    "primaryClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "primaryReadyToPay": {
                      "type": "boolean"
                    },
                    "counterpartyClientName": {
                      "type": "string"
                    },
                    "counterpartyClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "counterpartyReadyToPay": {
                      "type": "boolean"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clubCode": {
                      "type": "string"
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "primaryRole": {
                      "type": "string"
                    },
                    "counterpartyRole": {
                      "type": "string"
                    },
                    "primaryPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "counterpartyPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "primaryOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryOwnerSalesmanName": {
                      "type": "string"
                    },
                    "primaryOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyOwnerSalesmanName": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "primaryTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryTeamName": {
                      "type": "string"
                    },
                    "counterpartyTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyTeamName": {
                      "type": "string"
                    },
                    "participantSalesmanIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "participantTeamIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "managerId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "managerName": {
                      "type": "string"
                    },
                    "managerUsername": {
                      "type": "string"
                    },
                    "createdByTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "createdByTeamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING_APPROVAL",
                        "APPROVED",
                        "PROPOSED",
                        "BUYER_INTERESTED",
                        "SELLER_INTERESTED",
                        "NEGOTIATING",
                        "AGREED",
                        "REJECTED",
                        "CANCELLED",
                        "CONVERTED"
                      ]
                    },
                    "approvedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvedByUserName": {
                      "type": "string"
                    },
                    "approvedByUsername": {
                      "type": "string"
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvalLiftedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "revealStatus": {
                      "type": "string",
                      "enum": [
                        "MASKED",
                        "REVEALED"
                      ]
                    },
                    "cancellationReason": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cancelledAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "convertedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "reason": {
                    "type": "string",
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingMatchesController.liftApproval"
      }
    },
    "/api/v1/matches/{matchId}/matching-form": {
      "get": {
        "x-controller-name": "MatchingFormsController",
        "x-operation-name": "get",
        "tags": [
          "MatchingFormsController"
        ],
        "responses": {
          "200": {
            "description": "Read-only, confidentiality-safe Matching Form data projection.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "matchId",
                    "matchNumber",
                    "status",
                    "transactionType",
                    "club",
                    "shareClass",
                    "primary",
                    "counterparty",
                    "participantUsers",
                    "participantTeams",
                    "approver",
                    "approvedAt",
                    "resultingTransaction"
                  ],
                  "properties": {
                    "matchId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "APPROVED",
                        "AGREED",
                        "CONVERTED"
                      ]
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "club": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "code": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "shareClass": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "code"
                      ],
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "primary": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "listingId",
                        "role",
                        "price",
                        "ownerSalesman",
                        "team"
                      ],
                      "properties": {
                        "listingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "listingNumber": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string",
                              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "ownerSalesman": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "name": {
                              "type": "string"
                            },
                            "username": {
                              "type": "string"
                            }
                          }
                        },
                        "team": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "counterparty": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "listingId",
                        "role",
                        "price",
                        "ownerSalesman",
                        "team"
                      ],
                      "properties": {
                        "listingId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "listingNumber": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "BUYER",
                            "SELLER",
                            "LESSOR",
                            "LESSEE",
                            "ASSIGNOR",
                            "ASSIGNEE"
                          ]
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "amount",
                            "currency",
                            "negotiable"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "BUDGET",
                                "ASKING",
                                "NET",
                                "GROSS",
                                "RENTAL"
                              ]
                            },
                            "amount": {
                              "type": "string",
                              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "negotiable": {
                              "type": "boolean"
                            }
                          }
                        },
                        "ownerSalesman": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "name": {
                              "type": "string"
                            },
                            "username": {
                              "type": "string"
                            }
                          }
                        },
                        "team": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "participantUsers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "name": {
                            "type": "string"
                          },
                          "username": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "participantTeams": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "approver": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "name": {
                          "type": "string"
                        },
                        "username": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "resultingTransaction": {
                      "type": "object",
                      "nullable": true,
                      "additionalProperties": false,
                      "required": [
                        "transactionId",
                        "transactionNumber"
                      ],
                      "properties": {
                        "transactionId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "transactionNumber": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MatchingFormsController.get"
      }
    },
    "/api/v1/matches/{matchId}/reveal-confidential": {
      "post": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "revealConfidential",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Match detail. Client names and types are visible; contact details and addresses remain masked until controlled reveal.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "matchNumber",
                    "primaryListingId",
                    "counterpartyListingId",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "primaryRole",
                    "counterpartyRole",
                    "primaryPrice",
                    "counterpartyPrice",
                    "primaryOwnerSalesmanId",
                    "counterpartyOwnerSalesmanId",
                    "primaryTeamId",
                    "counterpartyTeamId",
                    "participantSalesmanIds",
                    "participantTeamIds",
                    "managerId",
                    "status",
                    "revealStatus",
                    "version",
                    "createdAt",
                    "updatedAt",
                    "canConvertToTransaction",
                    "confidentiality",
                    "primaryParty",
                    "counterpartyParty"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "primaryListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryListingNumber": {
                      "type": "string"
                    },
                    "primaryListingArchived": {
                      "type": "boolean"
                    },
                    "counterpartyListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyListingNumber": {
                      "type": "string"
                    },
                    "counterpartyListingArchived": {
                      "type": "boolean"
                    },
                    "primaryClientName": {
                      "type": "string"
                    },
                    "primaryClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "primaryReadyToPay": {
                      "type": "boolean"
                    },
                    "counterpartyClientName": {
                      "type": "string"
                    },
                    "counterpartyClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "counterpartyReadyToPay": {
                      "type": "boolean"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clubCode": {
                      "type": "string"
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "primaryRole": {
                      "type": "string"
                    },
                    "counterpartyRole": {
                      "type": "string"
                    },
                    "primaryPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "counterpartyPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "primaryOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryOwnerSalesmanName": {
                      "type": "string"
                    },
                    "primaryOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyOwnerSalesmanName": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "primaryTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryTeamName": {
                      "type": "string"
                    },
                    "counterpartyTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyTeamName": {
                      "type": "string"
                    },
                    "participantSalesmanIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "participantTeamIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "managerId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "managerName": {
                      "type": "string"
                    },
                    "managerUsername": {
                      "type": "string"
                    },
                    "createdByTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "createdByTeamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING_APPROVAL",
                        "APPROVED",
                        "PROPOSED",
                        "BUYER_INTERESTED",
                        "SELLER_INTERESTED",
                        "NEGOTIATING",
                        "AGREED",
                        "REJECTED",
                        "CANCELLED",
                        "CONVERTED"
                      ]
                    },
                    "approvedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvedByUserName": {
                      "type": "string"
                    },
                    "approvedByUsername": {
                      "type": "string"
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvalLiftedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "revealStatus": {
                      "type": "string",
                      "enum": [
                        "MASKED",
                        "REVEALED"
                      ]
                    },
                    "cancellationReason": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cancelledAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "convertedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "canConvertToTransaction": {
                      "type": "boolean"
                    },
                    "confidentiality": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "state",
                        "canViewConfidential",
                        "revealedAt"
                      ],
                      "properties": {
                        "state": {
                          "type": "string",
                          "enum": [
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "canViewConfidential": {
                          "type": "boolean"
                        },
                        "revealedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "primaryParty": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "side",
                        "role",
                        "visibility",
                        "displayName",
                        "clientType",
                        "mobile",
                        "email",
                        "phone",
                        "address"
                      ],
                      "properties": {
                        "side": {
                          "type": "string",
                          "enum": [
                            "PRIMARY",
                            "COUNTERPARTY"
                          ]
                        },
                        "role": {
                          "type": "string"
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "OWN",
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "displayName": {
                          "type": "string"
                        },
                        "clientType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "CORPORATE"
                          ],
                          "nullable": true
                        },
                        "mobile": {
                          "type": "string",
                          "nullable": true
                        },
                        "email": {
                          "type": "string",
                          "nullable": true
                        },
                        "phone": {
                          "type": "string",
                          "nullable": true
                        },
                        "address": {
                          "type": "object",
                          "nullable": true,
                          "additionalProperties": false,
                          "required": [
                            "addressLine",
                            "city",
                            "province",
                            "postalCode",
                            "countryCode"
                          ],
                          "properties": {
                            "addressLine": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string",
                              "nullable": true
                            },
                            "province": {
                              "type": "string",
                              "nullable": true
                            },
                            "postalCode": {
                              "type": "string",
                              "nullable": true
                            },
                            "countryCode": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "counterpartyParty": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "side",
                        "role",
                        "visibility",
                        "displayName",
                        "clientType",
                        "mobile",
                        "email",
                        "phone",
                        "address"
                      ],
                      "properties": {
                        "side": {
                          "type": "string",
                          "enum": [
                            "PRIMARY",
                            "COUNTERPARTY"
                          ]
                        },
                        "role": {
                          "type": "string"
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "OWN",
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "displayName": {
                          "type": "string"
                        },
                        "clientType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "CORPORATE"
                          ],
                          "nullable": true
                        },
                        "mobile": {
                          "type": "string",
                          "nullable": true
                        },
                        "email": {
                          "type": "string",
                          "nullable": true
                        },
                        "phone": {
                          "type": "string",
                          "nullable": true
                        },
                        "address": {
                          "type": "object",
                          "nullable": true,
                          "additionalProperties": false,
                          "required": [
                            "addressLine",
                            "city",
                            "province",
                            "postalCode",
                            "countryCode"
                          ],
                          "properties": {
                            "addressLine": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string",
                              "nullable": true
                            },
                            "province": {
                              "type": "string",
                              "nullable": true
                            },
                            "postalCode": {
                              "type": "string",
                              "nullable": true
                            },
                            "countryCode": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "reason"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ListingMatchesController.revealConfidential"
      }
    },
    "/api/v1/matches/{matchId}/timeline": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "timeline",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Cursor page of PII-safe Match audit events.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "actorUserId",
                          "action",
                          "entityType",
                          "entityId",
                          "outcome",
                          "createdAt"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "actorUserId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "action": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string",
                            "nullable": true
                          },
                          "outcome": {
                            "type": "string"
                          },
                          "reason": {
                            "type": "string"
                          },
                          "correlationId": {
                            "type": "string"
                          },
                          "changes": {
                            "type": "object"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "required": [
                        "limit",
                        "nextCursor",
                        "hasMore"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        },
                        "total": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ListingMatchesController.timeline"
      }
    },
    "/api/v1/matches/{matchId}": {
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "detail",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Scoped Match detail. Client names and types are visible; contact details and addresses remain masked until controlled reveal.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "matchNumber",
                    "primaryListingId",
                    "counterpartyListingId",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "primaryRole",
                    "counterpartyRole",
                    "primaryPrice",
                    "counterpartyPrice",
                    "primaryOwnerSalesmanId",
                    "counterpartyOwnerSalesmanId",
                    "primaryTeamId",
                    "counterpartyTeamId",
                    "participantSalesmanIds",
                    "participantTeamIds",
                    "managerId",
                    "status",
                    "revealStatus",
                    "version",
                    "createdAt",
                    "updatedAt",
                    "canConvertToTransaction",
                    "confidentiality",
                    "primaryParty",
                    "counterpartyParty"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "primaryListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryListingNumber": {
                      "type": "string"
                    },
                    "primaryListingArchived": {
                      "type": "boolean"
                    },
                    "counterpartyListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyListingNumber": {
                      "type": "string"
                    },
                    "counterpartyListingArchived": {
                      "type": "boolean"
                    },
                    "primaryClientName": {
                      "type": "string"
                    },
                    "primaryClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "primaryReadyToPay": {
                      "type": "boolean"
                    },
                    "counterpartyClientName": {
                      "type": "string"
                    },
                    "counterpartyClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "counterpartyReadyToPay": {
                      "type": "boolean"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clubCode": {
                      "type": "string"
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "primaryRole": {
                      "type": "string"
                    },
                    "counterpartyRole": {
                      "type": "string"
                    },
                    "primaryPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "counterpartyPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "primaryOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryOwnerSalesmanName": {
                      "type": "string"
                    },
                    "primaryOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyOwnerSalesmanName": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "primaryTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryTeamName": {
                      "type": "string"
                    },
                    "counterpartyTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyTeamName": {
                      "type": "string"
                    },
                    "participantSalesmanIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "participantTeamIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "managerId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "managerName": {
                      "type": "string"
                    },
                    "managerUsername": {
                      "type": "string"
                    },
                    "createdByTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "createdByTeamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING_APPROVAL",
                        "APPROVED",
                        "PROPOSED",
                        "BUYER_INTERESTED",
                        "SELLER_INTERESTED",
                        "NEGOTIATING",
                        "AGREED",
                        "REJECTED",
                        "CANCELLED",
                        "CONVERTED"
                      ]
                    },
                    "approvedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvedByUserName": {
                      "type": "string"
                    },
                    "approvedByUsername": {
                      "type": "string"
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvalLiftedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "revealStatus": {
                      "type": "string",
                      "enum": [
                        "MASKED",
                        "REVEALED"
                      ]
                    },
                    "cancellationReason": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cancelledAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "convertedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "canConvertToTransaction": {
                      "type": "boolean"
                    },
                    "confidentiality": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "state",
                        "canViewConfidential",
                        "revealedAt"
                      ],
                      "properties": {
                        "state": {
                          "type": "string",
                          "enum": [
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "canViewConfidential": {
                          "type": "boolean"
                        },
                        "revealedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "primaryParty": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "side",
                        "role",
                        "visibility",
                        "displayName",
                        "clientType",
                        "mobile",
                        "email",
                        "phone",
                        "address"
                      ],
                      "properties": {
                        "side": {
                          "type": "string",
                          "enum": [
                            "PRIMARY",
                            "COUNTERPARTY"
                          ]
                        },
                        "role": {
                          "type": "string"
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "OWN",
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "displayName": {
                          "type": "string"
                        },
                        "clientType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "CORPORATE"
                          ],
                          "nullable": true
                        },
                        "mobile": {
                          "type": "string",
                          "nullable": true
                        },
                        "email": {
                          "type": "string",
                          "nullable": true
                        },
                        "phone": {
                          "type": "string",
                          "nullable": true
                        },
                        "address": {
                          "type": "object",
                          "nullable": true,
                          "additionalProperties": false,
                          "required": [
                            "addressLine",
                            "city",
                            "province",
                            "postalCode",
                            "countryCode"
                          ],
                          "properties": {
                            "addressLine": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string",
                              "nullable": true
                            },
                            "province": {
                              "type": "string",
                              "nullable": true
                            },
                            "postalCode": {
                              "type": "string",
                              "nullable": true
                            },
                            "countryCode": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "counterpartyParty": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "side",
                        "role",
                        "visibility",
                        "displayName",
                        "clientType",
                        "mobile",
                        "email",
                        "phone",
                        "address"
                      ],
                      "properties": {
                        "side": {
                          "type": "string",
                          "enum": [
                            "PRIMARY",
                            "COUNTERPARTY"
                          ]
                        },
                        "role": {
                          "type": "string"
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "OWN",
                            "MASKED",
                            "REVEALED"
                          ]
                        },
                        "displayName": {
                          "type": "string"
                        },
                        "clientType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "CORPORATE"
                          ],
                          "nullable": true
                        },
                        "mobile": {
                          "type": "string",
                          "nullable": true
                        },
                        "email": {
                          "type": "string",
                          "nullable": true
                        },
                        "phone": {
                          "type": "string",
                          "nullable": true
                        },
                        "address": {
                          "type": "object",
                          "nullable": true,
                          "additionalProperties": false,
                          "required": [
                            "addressLine",
                            "city",
                            "province",
                            "postalCode",
                            "countryCode"
                          ],
                          "properties": {
                            "addressLine": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string",
                              "nullable": true
                            },
                            "province": {
                              "type": "string",
                              "nullable": true
                            },
                            "postalCode": {
                              "type": "string",
                              "nullable": true
                            },
                            "countryCode": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "ListingMatchesController.detail"
      }
    },
    "/api/v1/matches": {
      "post": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "create",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Scoped, PII-safe Listing Match.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "matchNumber",
                    "primaryListingId",
                    "counterpartyListingId",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "primaryRole",
                    "counterpartyRole",
                    "primaryPrice",
                    "counterpartyPrice",
                    "primaryOwnerSalesmanId",
                    "counterpartyOwnerSalesmanId",
                    "primaryTeamId",
                    "counterpartyTeamId",
                    "participantSalesmanIds",
                    "participantTeamIds",
                    "managerId",
                    "status",
                    "revealStatus",
                    "version",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "matchNumber": {
                      "type": "string"
                    },
                    "primaryListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryListingNumber": {
                      "type": "string"
                    },
                    "primaryListingArchived": {
                      "type": "boolean"
                    },
                    "counterpartyListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyListingNumber": {
                      "type": "string"
                    },
                    "counterpartyListingArchived": {
                      "type": "boolean"
                    },
                    "primaryClientName": {
                      "type": "string"
                    },
                    "primaryClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "primaryReadyToPay": {
                      "type": "boolean"
                    },
                    "counterpartyClientName": {
                      "type": "string"
                    },
                    "counterpartyClientType": {
                      "type": "string",
                      "enum": [
                        "INDIVIDUAL",
                        "CORPORATE"
                      ]
                    },
                    "counterpartyReadyToPay": {
                      "type": "boolean"
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "clubCode": {
                      "type": "string"
                    },
                    "clubName": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "shareClassName": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "SALE",
                        "LEASE",
                        "ASSIGNMENT"
                      ]
                    },
                    "primaryRole": {
                      "type": "string"
                    },
                    "counterpartyRole": {
                      "type": "string"
                    },
                    "primaryPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "counterpartyPrice": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "amount",
                        "currency",
                        "negotiable"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "negotiable": {
                          "type": "boolean"
                        }
                      }
                    },
                    "primaryOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryOwnerSalesmanName": {
                      "type": "string"
                    },
                    "primaryOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyOwnerSalesmanName": {
                      "type": "string"
                    },
                    "counterpartyOwnerSalesmanUsername": {
                      "type": "string"
                    },
                    "primaryTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "primaryTeamName": {
                      "type": "string"
                    },
                    "counterpartyTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "counterpartyTeamName": {
                      "type": "string"
                    },
                    "participantSalesmanIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "participantTeamIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "managerId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "managerName": {
                      "type": "string"
                    },
                    "managerUsername": {
                      "type": "string"
                    },
                    "createdByTeamId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "createdByTeamName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "PENDING_APPROVAL",
                        "APPROVED",
                        "PROPOSED",
                        "BUYER_INTERESTED",
                        "SELLER_INTERESTED",
                        "NEGOTIATING",
                        "AGREED",
                        "REJECTED",
                        "CANCELLED",
                        "CONVERTED"
                      ]
                    },
                    "approvedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvedByUserName": {
                      "type": "string"
                    },
                    "approvedByUsername": {
                      "type": "string"
                    },
                    "approvedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftedByUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "approvalLiftedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "approvalLiftReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "revealStatus": {
                      "type": "string",
                      "enum": [
                        "MASKED",
                        "REVEALED"
                      ]
                    },
                    "cancellationReason": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cancelledAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "convertedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "primaryListingId",
                  "counterpartyListingId"
                ],
                "properties": {
                  "primaryListingId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "counterpartyListingId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            }
          }
        },
        "operationId": "ListingMatchesController.create"
      },
      "get": {
        "x-controller-name": "ListingMatchesController",
        "x-operation-name": "list",
        "tags": [
          "ListingMatchesController"
        ],
        "responses": {
          "200": {
            "description": "Cursor page of scoped, PII-safe Listing Matches.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "matchNumber",
                          "primaryListingId",
                          "counterpartyListingId",
                          "clubId",
                          "shareClassCode",
                          "transactionType",
                          "primaryRole",
                          "counterpartyRole",
                          "primaryPrice",
                          "counterpartyPrice",
                          "primaryOwnerSalesmanId",
                          "counterpartyOwnerSalesmanId",
                          "primaryTeamId",
                          "counterpartyTeamId",
                          "participantSalesmanIds",
                          "participantTeamIds",
                          "managerId",
                          "status",
                          "revealStatus",
                          "version",
                          "createdAt",
                          "updatedAt"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "matchNumber": {
                            "type": "string"
                          },
                          "primaryListingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "primaryListingNumber": {
                            "type": "string"
                          },
                          "primaryListingArchived": {
                            "type": "boolean"
                          },
                          "counterpartyListingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "counterpartyListingNumber": {
                            "type": "string"
                          },
                          "counterpartyListingArchived": {
                            "type": "boolean"
                          },
                          "primaryClientName": {
                            "type": "string"
                          },
                          "primaryClientType": {
                            "type": "string",
                            "enum": [
                              "INDIVIDUAL",
                              "CORPORATE"
                            ]
                          },
                          "primaryReadyToPay": {
                            "type": "boolean"
                          },
                          "counterpartyClientName": {
                            "type": "string"
                          },
                          "counterpartyClientType": {
                            "type": "string",
                            "enum": [
                              "INDIVIDUAL",
                              "CORPORATE"
                            ]
                          },
                          "counterpartyReadyToPay": {
                            "type": "boolean"
                          },
                          "clubId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "clubCode": {
                            "type": "string"
                          },
                          "clubName": {
                            "type": "string"
                          },
                          "shareClassCode": {
                            "type": "string"
                          },
                          "shareClassName": {
                            "type": "string"
                          },
                          "transactionType": {
                            "type": "string",
                            "enum": [
                              "SALE",
                              "LEASE",
                              "ASSIGNMENT"
                            ]
                          },
                          "primaryRole": {
                            "type": "string"
                          },
                          "counterpartyRole": {
                            "type": "string"
                          },
                          "primaryPrice": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "counterpartyPrice": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "type",
                              "amount",
                              "currency",
                              "negotiable"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "negotiable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "primaryOwnerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "primaryOwnerSalesmanName": {
                            "type": "string"
                          },
                          "primaryOwnerSalesmanUsername": {
                            "type": "string"
                          },
                          "counterpartyOwnerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "counterpartyOwnerSalesmanName": {
                            "type": "string"
                          },
                          "counterpartyOwnerSalesmanUsername": {
                            "type": "string"
                          },
                          "primaryTeamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "primaryTeamName": {
                            "type": "string"
                          },
                          "counterpartyTeamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "counterpartyTeamName": {
                            "type": "string"
                          },
                          "participantSalesmanIds": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            }
                          },
                          "participantTeamIds": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 24,
                              "maxLength": 24,
                              "pattern": "^[0-9a-fA-F]{24}$"
                            }
                          },
                          "managerId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "managerName": {
                            "type": "string"
                          },
                          "managerUsername": {
                            "type": "string"
                          },
                          "createdByTeamId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "createdByTeamName": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING_APPROVAL",
                              "APPROVED",
                              "PROPOSED",
                              "BUYER_INTERESTED",
                              "SELLER_INTERESTED",
                              "NEGOTIATING",
                              "AGREED",
                              "REJECTED",
                              "CANCELLED",
                              "CONVERTED"
                            ]
                          },
                          "approvedByUserId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "approvedByUserName": {
                            "type": "string"
                          },
                          "approvedByUsername": {
                            "type": "string"
                          },
                          "approvedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "approvalLiftedByUserId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "approvalLiftedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "approvalLiftReason": {
                            "type": "string",
                            "nullable": true
                          },
                          "revealStatus": {
                            "type": "string",
                            "enum": [
                              "MASKED",
                              "REVEALED"
                            ]
                          },
                          "cancellationReason": {
                            "type": "string"
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "cancelledAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "convertedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "required": [
                        "limit",
                        "nextCursor",
                        "hasMore"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        },
                        "total": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "participantUserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "teamId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listingId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "existingOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "counterpartyReadyToPay",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "bestPriceFirst",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "closestPriceFirst",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "approvedFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "approvedTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "approvedWorkspaceOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "ListingMatchesController.list"
      }
    },
    "/api/v1/messages/attachments/{attachmentId}": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "attachment",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.attachment"
          }
        },
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.attachment"
      }
    },
    "/api/v1/messages/capabilities": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "capabilities",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.capabilities"
          }
        },
        "operationId": "MessagesController.capabilities"
      }
    },
    "/api/v1/messages/directory/teams": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "directoryTeams",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.directoryTeams"
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MessagesController.directoryTeams"
      }
    },
    "/api/v1/messages/directory/users": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "directoryUsers",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.directoryUsers"
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MessagesController.directoryUsers"
      }
    },
    "/api/v1/messages/inbox/human": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "humanInbox",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.humanInbox"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MessagesController.humanInbox"
      }
    },
    "/api/v1/messages/inbox/system": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "systemInbox",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.systemInbox"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MessagesController.systemInbox"
      }
    },
    "/api/v1/messages/inbox": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "inbox",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.inbox"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MessagesController.inbox"
      }
    },
    "/api/v1/messages/sent": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "sent",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.sent"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MessagesController.sent"
      }
    },
    "/api/v1/messages/unread-count": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "unreadCount",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.unreadCount"
          }
        },
        "operationId": "MessagesController.unreadCount"
      }
    },
    "/api/v1/messages/{messageId}/reactions": {
      "post": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "toggleReaction",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.toggleReaction"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reaction"
                ],
                "properties": {
                  "reaction": {
                    "type": "string",
                    "enum": [
                      "👍",
                      "❤️",
                      "😂",
                      "😮",
                      "😢",
                      "🙏"
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "MessagesController.toggleReaction"
      }
    },
    "/api/v1/messages/{messageId}/read": {
      "patch": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "markRead",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.markRead"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.markRead"
      }
    },
    "/api/v1/messages/{messageId}/reply": {
      "post": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "reply",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.reply"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "message"
                ],
                "properties": {
                  "message": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10000
                  },
                  "attachments": {
                    "type": "array",
                    "maxItems": 3,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fileName",
                        "mimeType",
                        "dataBase64"
                      ],
                      "properties": {
                        "fileName": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 180
                        },
                        "mimeType": {
                          "type": "string",
                          "enum": [
                            "image/png",
                            "image/jpeg",
                            "image/jpg",
                            "image/webp"
                          ]
                        },
                        "sizeBytes": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 5242880
                        },
                        "dataBase64": {
                          "type": "string",
                          "minLength": 4,
                          "maxLength": 6990572
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "MessagesController.reply"
      }
    },
    "/api/v1/messages/{messageId}/thread/read": {
      "patch": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "markThreadRead",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.markThreadRead"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.markThreadRead"
      }
    },
    "/api/v1/messages/{messageId}/thread/unread": {
      "patch": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "markThreadUnread",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.markThreadUnread"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.markThreadUnread"
      }
    },
    "/api/v1/messages/{messageId}/thread": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "thread",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.thread"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.thread"
      }
    },
    "/api/v1/messages/{messageId}/unread": {
      "patch": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "markUnread",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.markUnread"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.markUnread"
      }
    },
    "/api/v1/messages/{messageId}": {
      "get": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "detail",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.detail"
          }
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "MessagesController.detail"
      }
    },
    "/api/v1/messages": {
      "post": {
        "x-controller-name": "MessagesController",
        "x-operation-name": "send",
        "tags": [
          "MessagesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MessagesController.send"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "subject",
                  "message"
                ],
                "properties": {
                  "recipients": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "userIds": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "maxItems": 200
                      },
                      "teamIds": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "maxItems": 100
                      },
                      "allUsers": {
                        "type": "boolean"
                      }
                    }
                  },
                  "cc": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "userIds": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "maxItems": 200
                      },
                      "teamIds": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "maxItems": 100
                      }
                    }
                  },
                  "bcc": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "userIds": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "maxItems": 200
                      },
                      "teamIds": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "maxItems": 100
                      }
                    }
                  },
                  "recipientType": {
                    "type": "string",
                    "enum": [
                      "USER",
                      "TEAM"
                    ]
                  },
                  "recipientId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "subject": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "message": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10000
                  },
                  "bodyFormat": {
                    "type": "string",
                    "enum": [
                      "PLAIN_TEXT",
                      "RICH_TEXT"
                    ]
                  },
                  "richBody": {
                    "type": "object"
                  },
                  "attachments": {
                    "type": "array",
                    "maxItems": 3,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "fileName",
                        "mimeType",
                        "dataBase64"
                      ],
                      "properties": {
                        "fileName": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 180
                        },
                        "mimeType": {
                          "type": "string",
                          "enum": [
                            "image/png",
                            "image/jpeg",
                            "image/jpg",
                            "image/webp"
                          ]
                        },
                        "sizeBytes": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 5242880
                        },
                        "dataBase64": {
                          "type": "string",
                          "minLength": 4,
                          "maxLength": 6990572
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "MessagesController.send"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}/approve-coo": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "approveCoo",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.approveCoo"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.approveCoo"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}/approve-executive": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "approveExecutive",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.approveExecutive"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "role"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "PRESIDENT",
                      "CEO"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.approveExecutive"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}/approve-team-head": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "approveTeamHead",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.approveTeamHead"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.approveTeamHead"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}/cancel": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "cancel",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.cancel"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "reason"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "executiveRole": {
                    "type": "string",
                    "enum": [
                      "PRESIDENT",
                      "CEO"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.cancel"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}/reject": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "reject",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.reject"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "reason"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "executiveRole": {
                    "type": "string",
                    "enum": [
                      "PRESIDENT",
                      "CEO"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.reject"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}/submit": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "submit",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.submit"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.submit"
      }
    },
    "/api/v1/pay-ahead-requests/{requestId}": {
      "patch": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "update",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PayAheadRequestsController.update"
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "minProperties": 2,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "netProceedsAmount": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "monthlyDuesAmount": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "justification": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "possibleBuyerClientId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "nullable": true
                  },
                  "buyerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "nullable": true
                  },
                  "buyingPriceAmount": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$",
                    "nullable": true
                  },
                  "buyerPaymentDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "nullable": true
                  },
                  "actionTaken": {
                    "type": "string",
                    "enum": [
                      "EARNEST_MONEY",
                      "UNDERTAKING_TO_PAY_BUY",
                      "DOWNPAYMENT",
                      "OTHER"
                    ]
                  },
                  "actionOtherDescription": {
                    "type": "string",
                    "nullable": true,
                    "maxLength": 2000
                  },
                  "managerCommitment": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "managerUserId",
                      "teamId",
                      "shareDescription",
                      "ownerName",
                      "stockCertificateReference",
                      "commitmentText",
                      "responsibilityText"
                    ],
                    "properties": {
                      "managerUserId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "teamId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "shareDescription": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1000
                      },
                      "ownerName": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 240
                      },
                      "stockCertificateReference": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 240
                      },
                      "commitmentText": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4000
                      },
                      "responsibilityText": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4000
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PayAheadRequestsController.update"
      },
      "get": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "get",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Pay Ahead Request detail.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "requestId",
                    "requestNumber",
                    "transactionId",
                    "clubId",
                    "shareClassCode",
                    "sellerClientId",
                    "sellerListingId",
                    "sellerSalesmanId",
                    "netProceedsAmount",
                    "monthlyDuesAmount",
                    "justification",
                    "possibleBuyerClientId",
                    "buyerSalesmanId",
                    "buyingPriceAmount",
                    "buyerPaymentDate",
                    "actionTaken",
                    "actionOtherDescription",
                    "managerCommitment",
                    "applicantUserId",
                    "status",
                    "teamHeadApproval",
                    "cooApproval",
                    "executiveApproval",
                    "rejectionReason",
                    "version",
                    "archivedAt",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "requestId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "requestNumber": {
                      "type": "string"
                    },
                    "transactionId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "sellerClientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "sellerListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "sellerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "netProceedsAmount": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                    },
                    "monthlyDuesAmount": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                    },
                    "justification": {
                      "type": "string"
                    },
                    "possibleBuyerClientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "buyerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "buyingPriceAmount": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$",
                      "nullable": true
                    },
                    "buyerPaymentDate": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                      "nullable": true
                    },
                    "actionTaken": {
                      "type": "string",
                      "enum": [
                        "EARNEST_MONEY",
                        "UNDERTAKING_TO_PAY_BUY",
                        "DOWNPAYMENT",
                        "OTHER"
                      ]
                    },
                    "actionOtherDescription": {
                      "type": "string",
                      "nullable": true
                    },
                    "managerCommitment": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "managerUserId",
                        "teamId",
                        "shareDescription",
                        "ownerName",
                        "stockCertificateReference",
                        "commitmentText",
                        "responsibilityText"
                      ],
                      "properties": {
                        "managerUserId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "teamId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "shareDescription": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "ownerName": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 240
                        },
                        "stockCertificateReference": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 240
                        },
                        "commitmentText": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 4000
                        },
                        "responsibilityText": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 4000
                        }
                      }
                    },
                    "applicantUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "DRAFT",
                        "FOR_APPROVAL",
                        "APPROVED",
                        "REJECTED",
                        "CANCELLED"
                      ]
                    },
                    "teamHeadApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "userId",
                        "decision",
                        "decidedAt"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "decision": {
                          "type": "string",
                          "enum": [
                            "APPROVED",
                            "REJECTED"
                          ],
                          "nullable": true
                        },
                        "decidedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "cooApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "userId",
                        "decision",
                        "decidedAt"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "decision": {
                          "type": "string",
                          "enum": [
                            "APPROVED",
                            "REJECTED"
                          ],
                          "nullable": true
                        },
                        "decidedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "executiveApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "userId",
                        "decision",
                        "decidedAt"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "decision": {
                          "type": "string",
                          "enum": [
                            "APPROVED",
                            "REJECTED"
                          ],
                          "nullable": true
                        },
                        "decidedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "PRESIDENT",
                            "CEO"
                          ],
                          "nullable": true
                        }
                      }
                    },
                    "rejectionReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "required": true
          }
        ],
        "operationId": "PayAheadRequestsController.get"
      }
    },
    "/api/v1/pay-ahead-requests": {
      "post": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "create",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Pay Ahead Request created in DRAFT status.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "requestId",
                    "requestNumber",
                    "transactionId",
                    "clubId",
                    "shareClassCode",
                    "sellerClientId",
                    "sellerListingId",
                    "sellerSalesmanId",
                    "netProceedsAmount",
                    "monthlyDuesAmount",
                    "justification",
                    "possibleBuyerClientId",
                    "buyerSalesmanId",
                    "buyingPriceAmount",
                    "buyerPaymentDate",
                    "actionTaken",
                    "actionOtherDescription",
                    "managerCommitment",
                    "applicantUserId",
                    "status",
                    "teamHeadApproval",
                    "cooApproval",
                    "executiveApproval",
                    "rejectionReason",
                    "version",
                    "archivedAt",
                    "createdAt",
                    "updatedAt"
                  ],
                  "properties": {
                    "requestId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "requestNumber": {
                      "type": "string"
                    },
                    "transactionId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "clubId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "sellerClientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "sellerListingId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "sellerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "netProceedsAmount": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                    },
                    "monthlyDuesAmount": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                    },
                    "justification": {
                      "type": "string"
                    },
                    "possibleBuyerClientId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "buyerSalesmanId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "nullable": true
                    },
                    "buyingPriceAmount": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$",
                      "nullable": true
                    },
                    "buyerPaymentDate": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                      "nullable": true
                    },
                    "actionTaken": {
                      "type": "string",
                      "enum": [
                        "EARNEST_MONEY",
                        "UNDERTAKING_TO_PAY_BUY",
                        "DOWNPAYMENT",
                        "OTHER"
                      ]
                    },
                    "actionOtherDescription": {
                      "type": "string",
                      "nullable": true
                    },
                    "managerCommitment": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "managerUserId",
                        "teamId",
                        "shareDescription",
                        "ownerName",
                        "stockCertificateReference",
                        "commitmentText",
                        "responsibilityText"
                      ],
                      "properties": {
                        "managerUserId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "teamId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "shareDescription": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "ownerName": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 240
                        },
                        "stockCertificateReference": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 240
                        },
                        "commitmentText": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 4000
                        },
                        "responsibilityText": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 4000
                        }
                      }
                    },
                    "applicantUserId": {
                      "type": "string",
                      "minLength": 24,
                      "maxLength": 24,
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "DRAFT",
                        "FOR_APPROVAL",
                        "APPROVED",
                        "REJECTED",
                        "CANCELLED"
                      ]
                    },
                    "teamHeadApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "userId",
                        "decision",
                        "decidedAt"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "decision": {
                          "type": "string",
                          "enum": [
                            "APPROVED",
                            "REJECTED"
                          ],
                          "nullable": true
                        },
                        "decidedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "cooApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "userId",
                        "decision",
                        "decidedAt"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "decision": {
                          "type": "string",
                          "enum": [
                            "APPROVED",
                            "REJECTED"
                          ],
                          "nullable": true
                        },
                        "decidedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        }
                      }
                    },
                    "executiveApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "userId",
                        "decision",
                        "decidedAt"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "minLength": 24,
                          "maxLength": 24,
                          "pattern": "^[0-9a-fA-F]{24}$",
                          "nullable": true
                        },
                        "decision": {
                          "type": "string",
                          "enum": [
                            "APPROVED",
                            "REJECTED"
                          ],
                          "nullable": true
                        },
                        "decidedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "PRESIDENT",
                            "CEO"
                          ],
                          "nullable": true
                        }
                      }
                    },
                    "rejectionReason": {
                      "type": "string",
                      "nullable": true
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "clubId",
                  "shareClassCode",
                  "sellerClientId",
                  "sellerListingId",
                  "sellerSalesmanId",
                  "netProceedsAmount",
                  "monthlyDuesAmount",
                  "justification",
                  "actionTaken",
                  "managerCommitment"
                ],
                "properties": {
                  "transactionId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "nullable": true
                  },
                  "clubId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "shareClassCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 120
                  },
                  "sellerClientId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "sellerListingId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "sellerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "netProceedsAmount": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "monthlyDuesAmount": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "justification": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "possibleBuyerClientId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "nullable": true
                  },
                  "buyerSalesmanId": {
                    "type": "string",
                    "minLength": 24,
                    "maxLength": 24,
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "nullable": true
                  },
                  "buyingPriceAmount": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$",
                    "nullable": true
                  },
                  "buyerPaymentDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "nullable": true
                  },
                  "actionTaken": {
                    "type": "string",
                    "enum": [
                      "EARNEST_MONEY",
                      "UNDERTAKING_TO_PAY_BUY",
                      "DOWNPAYMENT",
                      "OTHER"
                    ]
                  },
                  "actionOtherDescription": {
                    "type": "string",
                    "nullable": true,
                    "maxLength": 2000
                  },
                  "managerCommitment": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "managerUserId",
                      "teamId",
                      "shareDescription",
                      "ownerName",
                      "stockCertificateReference",
                      "commitmentText",
                      "responsibilityText"
                    ],
                    "properties": {
                      "managerUserId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "teamId": {
                        "type": "string",
                        "minLength": 24,
                        "maxLength": 24,
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "shareDescription": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1000
                      },
                      "ownerName": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 240
                      },
                      "stockCertificateReference": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 240
                      },
                      "commitmentText": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4000
                      },
                      "responsibilityText": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4000
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PayAheadRequestsController.create"
      },
      "get": {
        "x-controller-name": "PayAheadRequestsController",
        "x-operation-name": "list",
        "tags": [
          "PayAheadRequestsController"
        ],
        "responses": {
          "200": {
            "description": "Cursor page of Pay Ahead Requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "requestId",
                          "requestNumber",
                          "transactionId",
                          "clubId",
                          "shareClassCode",
                          "sellerClientId",
                          "sellerListingId",
                          "sellerSalesmanId",
                          "netProceedsAmount",
                          "monthlyDuesAmount",
                          "justification",
                          "possibleBuyerClientId",
                          "buyerSalesmanId",
                          "buyingPriceAmount",
                          "buyerPaymentDate",
                          "actionTaken",
                          "actionOtherDescription",
                          "managerCommitment",
                          "applicantUserId",
                          "status",
                          "teamHeadApproval",
                          "cooApproval",
                          "executiveApproval",
                          "rejectionReason",
                          "version",
                          "archivedAt",
                          "createdAt",
                          "updatedAt"
                        ],
                        "properties": {
                          "requestId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "requestNumber": {
                            "type": "string"
                          },
                          "transactionId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "clubId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "shareClassCode": {
                            "type": "string"
                          },
                          "sellerClientId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "sellerListingId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "sellerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "netProceedsAmount": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                          },
                          "monthlyDuesAmount": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                          },
                          "justification": {
                            "type": "string"
                          },
                          "possibleBuyerClientId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "buyerSalesmanId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$",
                            "nullable": true
                          },
                          "buyingPriceAmount": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$",
                            "nullable": true
                          },
                          "buyerPaymentDate": {
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                            "nullable": true
                          },
                          "actionTaken": {
                            "type": "string",
                            "enum": [
                              "EARNEST_MONEY",
                              "UNDERTAKING_TO_PAY_BUY",
                              "DOWNPAYMENT",
                              "OTHER"
                            ]
                          },
                          "actionOtherDescription": {
                            "type": "string",
                            "nullable": true
                          },
                          "managerCommitment": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "managerUserId",
                              "teamId",
                              "shareDescription",
                              "ownerName",
                              "stockCertificateReference",
                              "commitmentText",
                              "responsibilityText"
                            ],
                            "properties": {
                              "managerUserId": {
                                "type": "string",
                                "minLength": 24,
                                "maxLength": 24,
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "teamId": {
                                "type": "string",
                                "minLength": 24,
                                "maxLength": 24,
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "shareDescription": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 1000
                              },
                              "ownerName": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 240
                              },
                              "stockCertificateReference": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 240
                              },
                              "commitmentText": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 4000
                              },
                              "responsibilityText": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 4000
                              }
                            }
                          },
                          "applicantUserId": {
                            "type": "string",
                            "minLength": 24,
                            "maxLength": 24,
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "DRAFT",
                              "FOR_APPROVAL",
                              "APPROVED",
                              "REJECTED",
                              "CANCELLED"
                            ]
                          },
                          "teamHeadApproval": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "userId",
                              "decision",
                              "decidedAt"
                            ],
                            "properties": {
                              "userId": {
                                "type": "string",
                                "minLength": 24,
                                "maxLength": 24,
                                "pattern": "^[0-9a-fA-F]{24}$",
                                "nullable": true
                              },
                              "decision": {
                                "type": "string",
                                "enum": [
                                  "APPROVED",
                                  "REJECTED"
                                ],
                                "nullable": true
                              },
                              "decidedAt": {
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                              }
                            }
                          },
                          "cooApproval": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "userId",
                              "decision",
                              "decidedAt"
                            ],
                            "properties": {
                              "userId": {
                                "type": "string",
                                "minLength": 24,
                                "maxLength": 24,
                                "pattern": "^[0-9a-fA-F]{24}$",
                                "nullable": true
                              },
                              "decision": {
                                "type": "string",
                                "enum": [
                                  "APPROVED",
                                  "REJECTED"
                                ],
                                "nullable": true
                              },
                              "decidedAt": {
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                              }
                            }
                          },
                          "executiveApproval": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "userId",
                              "decision",
                              "decidedAt"
                            ],
                            "properties": {
                              "userId": {
                                "type": "string",
                                "minLength": 24,
                                "maxLength": 24,
                                "pattern": "^[0-9a-fA-F]{24}$",
                                "nullable": true
                              },
                              "decision": {
                                "type": "string",
                                "enum": [
                                  "APPROVED",
                                  "REJECTED"
                                ],
                                "nullable": true
                              },
                              "decidedAt": {
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                              },
                              "role": {
                                "type": "string",
                                "enum": [
                                  "PRESIDENT",
                                  "CEO"
                                ],
                                "nullable": true
                              }
                            }
                          },
                          "rejectionReason": {
                            "type": "string",
                            "nullable": true
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "archivedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "required": [
                        "limit",
                        "nextCursor",
                        "hasMore"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionId",
            "in": "query",
            "schema": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24,
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "DRAFT",
                "FOR_APPROVAL",
                "APPROVED",
                "REJECTED",
                "CANCELLED"
              ]
            }
          }
        ],
        "operationId": "PayAheadRequestsController.list"
      }
    },
    "/api/v1/permissions/groups": {
      "get": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "listGroups",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PermissionsController.listGroups"
          }
        },
        "operationId": "PermissionsController.listGroups"
      }
    },
    "/api/v1/permissions": {
      "get": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "listCatalog",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PermissionsController.listCatalog"
          }
        },
        "operationId": "PermissionsController.listCatalog"
      }
    },
    "/api/v1/public/inquiries": {
      "post": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "submitInquiry",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Public inquiry accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "accepted"
                  ],
                  "properties": {
                    "accepted": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "contactName": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "companyName": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "email": {
                    "type": "string",
                    "maxLength": 254
                  },
                  "mobile": {
                    "type": "string",
                    "maxLength": 32
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "sourceDetails": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "website": {
                    "type": "string",
                    "maxLength": 200
                  }
                }
              }
            }
          }
        },
        "operationId": "InquiriesController.submitInquiry"
      }
    },
    "/api/v1/public/quote-requests": {
      "post": {
        "x-controller-name": "InquiriesController",
        "x-operation-name": "submitQuoteRequest",
        "tags": [
          "InquiriesController"
        ],
        "responses": {
          "200": {
            "description": "Public inquiry accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "accepted"
                  ],
                  "properties": {
                    "accepted": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "quoteIntent"
                ],
                "properties": {
                  "contactName": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "companyName": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "email": {
                    "type": "string",
                    "maxLength": 254
                  },
                  "mobile": {
                    "type": "string",
                    "maxLength": 32
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "sourceDetails": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "website": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "quoteIntent": {
                    "type": "string",
                    "enum": [
                      "BUY",
                      "SELL",
                      "LEASE"
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "InquiriesController.submitQuoteRequest"
      }
    },
    "/api/v1/public/share-prices": {
      "get": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "publicList",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.publicList"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SharePricesController.publicList"
      }
    },
    "/api/v1/roles/{roleId}/archive": {
      "post": {
        "x-controller-name": "RolesController",
        "x-operation-name": "archive",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.archive"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RolesController.archive"
      }
    },
    "/api/v1/roles/{roleId}/clone": {
      "post": {
        "x-controller-name": "RolesController",
        "x-operation-name": "clone",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.clone"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RolesController.clone"
      }
    },
    "/api/v1/roles/{roleId}/permissions": {
      "put": {
        "x-controller-name": "RolesController",
        "x-operation-name": "replacePermissions",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.replacePermissions"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "grants"
                ],
                "properties": {
                  "grants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "permissionCode",
                        "scope"
                      ],
                      "properties": {
                        "permissionCode": {
                          "type": "string"
                        },
                        "scope": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RolesController.replacePermissions"
      }
    },
    "/api/v1/roles/{roleId}/restore": {
      "post": {
        "x-controller-name": "RolesController",
        "x-operation-name": "restore",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.restore"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RolesController.restore"
      }
    },
    "/api/v1/roles/{roleId}/users": {
      "get": {
        "x-controller-name": "RolesController",
        "x-operation-name": "listUsers",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.listUsers"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RolesController.listUsers"
      }
    },
    "/api/v1/roles/{roleId}": {
      "patch": {
        "x-controller-name": "RolesController",
        "x-operation-name": "update",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.update"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RolesController.update"
      },
      "get": {
        "x-controller-name": "RolesController",
        "x-operation-name": "findById",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.findById"
          }
        },
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RolesController.findById"
      }
    },
    "/api/v1/roles": {
      "post": {
        "x-controller-name": "RolesController",
        "x-operation-name": "create",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "grants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "permissionCode",
                        "scope"
                      ],
                      "properties": {
                        "permissionCode": {
                          "type": "string"
                        },
                        "scope": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "RolesController.create"
      },
      "get": {
        "x-controller-name": "RolesController",
        "x-operation-name": "list",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RolesController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "RolesController.list"
      }
    },
    "/api/v1/security-monitor/audit-logs": {
      "get": {
        "x-controller-name": "SecurityMonitorReadController",
        "x-operation-name": "audits",
        "tags": [
          "SecurityMonitorReadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorReadController.audits"
          }
        },
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "actorUserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SecurityMonitorReadController.audits"
      }
    },
    "/api/v1/security-monitor/device-alerts": {
      "get": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "listDeviceAlerts",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.listDeviceAlerts"
          }
        },
        "operationId": "SecurityMonitorSessionDevicesController.listDeviceAlerts"
      }
    },
    "/api/v1/security-monitor/devices/{deviceId}/activity": {
      "get": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "deviceActivity",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.deviceActivity"
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "SecurityMonitorSessionDevicesController.deviceActivity"
      }
    },
    "/api/v1/security-monitor/devices/{deviceId}/revoke": {
      "post": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "revokeDevice",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.revokeDevice"
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "confirmCurrentActor": {
                    "type": "boolean"
                  },
                  "revokeSessions": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SecurityMonitorSessionDevicesController.revokeDevice"
      }
    },
    "/api/v1/security-monitor/devices/{deviceId}/revoke-sessions": {
      "post": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "revokeDeviceSessions",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.revokeDeviceSessions"
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "confirmCurrentActor": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SecurityMonitorSessionDevicesController.revokeDeviceSessions"
      }
    },
    "/api/v1/security-monitor/devices": {
      "get": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "listDevices",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.listDevices"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SecurityMonitorSessionDevicesController.listDevices"
      }
    },
    "/api/v1/security-monitor/events/{eventId}": {
      "get": {
        "x-controller-name": "SecurityMonitorReadController",
        "x-operation-name": "eventDetail",
        "tags": [
          "SecurityMonitorReadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorReadController.eventDetail"
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SecurityMonitorReadController.eventDetail"
      }
    },
    "/api/v1/security-monitor/events": {
      "get": {
        "x-controller-name": "SecurityMonitorReadController",
        "x-operation-name": "events",
        "tags": [
          "SecurityMonitorReadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorReadController.events"
          }
        },
        "parameters": [
          {
            "name": "eventType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "riskLevel",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ip",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SecurityMonitorReadController.events"
      }
    },
    "/api/v1/security-monitor/ip-blocks/{blockId}/unblock": {
      "post": {
        "x-controller-name": "SecurityMonitorIpBlocksController",
        "x-operation-name": "unblock",
        "tags": [
          "SecurityMonitorIpBlocksController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorIpBlocksController.unblock"
          }
        },
        "parameters": [
          {
            "name": "blockId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason",
                  "expectedVersion"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SecurityMonitorIpBlocksController.unblock"
      }
    },
    "/api/v1/security-monitor/ip-blocks": {
      "post": {
        "x-controller-name": "SecurityMonitorIpBlocksController",
        "x-operation-name": "create",
        "tags": [
          "SecurityMonitorIpBlocksController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorIpBlocksController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "ip",
                  "durationType",
                  "reason"
                ],
                "properties": {
                  "ip": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 128
                  },
                  "durationType": {
                    "type": "string",
                    "enum": [
                      "ONE_HOUR",
                      "TWENTY_FOUR_HOURS",
                      "SEVEN_DAYS",
                      "PERMANENT"
                    ]
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "confirmSelfBlock": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "SecurityMonitorIpBlocksController.create"
      },
      "get": {
        "x-controller-name": "SecurityMonitorIpBlocksController",
        "x-operation-name": "list",
        "tags": [
          "SecurityMonitorIpBlocksController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorIpBlocksController.list"
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "SecurityMonitorIpBlocksController.list"
      }
    },
    "/api/v1/security-monitor/ip-clearances": {
      "post": {
        "x-controller-name": "SecurityMonitorIpClearancesController",
        "x-operation-name": "clear",
        "tags": [
          "SecurityMonitorIpClearancesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorIpClearancesController.clear"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "ip",
                  "reason"
                ],
                "properties": {
                  "ip": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 64
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "SecurityMonitorIpClearancesController.clear"
      }
    },
    "/api/v1/security-monitor/ip-diagnostics": {
      "get": {
        "x-controller-name": "SecurityMonitorDiagnosticsController",
        "x-operation-name": "ipDiagnostics",
        "tags": [
          "SecurityMonitorDiagnosticsController"
        ],
        "responses": {
          "200": {
            "description": "ROOT-only Phase 2 client-IP diagnostics. Enable temporarily with SECURITY_IP_DIAGNOSTICS_ENABLED=true."
          },
          "403": {
            "description": "The authenticated user is not an allowed ROOT identity."
          },
          "404": {
            "description": "Diagnostics are disabled."
          }
        },
        "operationId": "SecurityMonitorDiagnosticsController.ipDiagnostics"
      }
    },
    "/api/v1/security-monitor/ip-user-activity": {
      "get": {
        "x-controller-name": "SecurityMonitorReadController",
        "x-operation-name": "ipUserActivity",
        "tags": [
          "SecurityMonitorReadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorReadController.ipUserActivity"
          }
        },
        "parameters": [
          {
            "name": "window",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ip",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SecurityMonitorReadController.ipUserActivity"
      }
    },
    "/api/v1/security-monitor/sessions/{familyId}/revoke": {
      "post": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "revokeFamily",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.revokeFamily"
          }
        },
        "parameters": [
          {
            "name": "familyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "confirmCurrentActor": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SecurityMonitorSessionDevicesController.revokeFamily"
      }
    },
    "/api/v1/security-monitor/summary": {
      "get": {
        "x-controller-name": "SecurityMonitorReadController",
        "x-operation-name": "summary",
        "tags": [
          "SecurityMonitorReadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorReadController.summary"
          }
        },
        "parameters": [
          {
            "name": "window",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SecurityMonitorReadController.summary"
      }
    },
    "/api/v1/security-monitor/users/{userId}/device-alert/clear": {
      "post": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "clearDeviceAlert",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.clearDeviceAlert"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "confirmCurrentActor": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SecurityMonitorSessionDevicesController.clearDeviceAlert"
      }
    },
    "/api/v1/security-monitor/users/{userId}/devices": {
      "get": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "listUserDevices",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.listUserDevices"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SecurityMonitorSessionDevicesController.listUserDevices"
      }
    },
    "/api/v1/security-monitor/users/{userId}/force-logout": {
      "post": {
        "x-controller-name": "SecurityMonitorSessionDevicesController",
        "x-operation-name": "forceLogout",
        "tags": [
          "SecurityMonitorSessionDevicesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorSessionDevicesController.forceLogout"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "minLength": 5,
                    "maxLength": 500
                  },
                  "confirmCurrentActor": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SecurityMonitorSessionDevicesController.forceLogout"
      }
    },
    "/api/v1/security-monitor/users/{userId}/security-summary": {
      "get": {
        "x-controller-name": "SecurityMonitorReadController",
        "x-operation-name": "userSecuritySummary",
        "tags": [
          "SecurityMonitorReadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SecurityMonitorReadController.userSecuritySummary"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SecurityMonitorReadController.userSecuritySummary"
      }
    },
    "/api/v1/share-prices/export.xlsx": {
      "get": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "exportWorkbook",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.exportWorkbook"
          }
        },
        "operationId": "SharePricesController.exportWorkbook"
      }
    },
    "/api/v1/share-prices/history": {
      "get": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "history",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.history"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SharePricesController.history"
      }
    },
    "/api/v1/share-prices/import": {
      "post": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "importWorkbook",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.importWorkbook"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "SharePricesController.importWorkbook"
      }
    },
    "/api/v1/share-prices/{priceId}/publish": {
      "post": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "publish",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.publish"
          }
        },
        "parameters": [
          {
            "name": "priceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SharePricesController.publish"
      }
    },
    "/api/v1/share-prices/{priceId}/unpublish": {
      "post": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "unpublish",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.unpublish"
          }
        },
        "parameters": [
          {
            "name": "priceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SharePricesController.unpublish"
      }
    },
    "/api/v1/share-prices/{priceId}": {
      "patch": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "update",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.update"
          }
        },
        "parameters": [
          {
            "name": "priceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "buyingPrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "sellingPrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "lesseePrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "lessorPrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "buyingInquireOnly": {
                    "type": "boolean"
                  },
                  "sellingInquireOnly": {
                    "type": "boolean"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Za-z]{3}$"
                  },
                  "effectiveAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SharePricesController.update"
      },
      "get": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "getById",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.getById"
          }
        },
        "parameters": [
          {
            "name": "priceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SharePricesController.getById"
      }
    },
    "/api/v1/share-prices": {
      "post": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "create",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "clubId",
                  "shareClassCode",
                  "effectiveAt"
                ],
                "properties": {
                  "clubId": {
                    "type": "string"
                  },
                  "shareClassCode": {
                    "type": "string",
                    "minLength": 1
                  },
                  "buyingPrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "sellingPrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "lesseePrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "lessorPrice": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,14})(\\.\\d{1,2})?$"
                  },
                  "buyingInquireOnly": {
                    "type": "boolean"
                  },
                  "sellingInquireOnly": {
                    "type": "boolean"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Za-z]{3}$"
                  },
                  "effectiveAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        },
        "operationId": "SharePricesController.create"
      },
      "get": {
        "x-controller-name": "SharePricesController",
        "x-operation-name": "list",
        "tags": [
          "SharePricesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SharePricesController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isPublished",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "SharePricesController.list"
      }
    },
    "/api/v1/teams/{teamId}/archive": {
      "post": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "archive",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.archive"
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TeamsController.archive"
      }
    },
    "/api/v1/teams/{teamId}/members/{userId}": {
      "delete": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "removeMember",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.removeMember"
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TeamsController.removeMember"
      }
    },
    "/api/v1/teams/{teamId}/members": {
      "post": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "addMembers",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.addMembers"
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "userIds"
                ],
                "properties": {
                  "userIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TeamsController.addMembers"
      }
    },
    "/api/v1/teams/{teamId}/membership-history": {
      "get": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "membershipHistory",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.membershipHistory"
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "TeamsController.membershipHistory"
      }
    },
    "/api/v1/teams/{teamId}": {
      "patch": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "update",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.update"
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string"
                  },
                  "managerUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TeamsController.update"
      },
      "get": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "findById",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.findById"
          }
        },
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TeamsController.findById"
      }
    },
    "/api/v1/teams": {
      "post": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "create",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string"
                  },
                  "managerUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "memberUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "TeamsController.create"
      },
      "get": {
        "x-controller-name": "TeamsController",
        "x-operation-name": "list",
        "tags": [
          "TeamsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TeamsController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TeamsController.list"
      }
    },
    "/api/v1/transaction-workflow-settings/{transactionType}/draft": {
      "put": {
        "x-controller-name": "TransactionWorkflowSettingsController",
        "x-operation-name": "save",
        "tags": [
          "TransactionWorkflowSettingsController"
        ],
        "responses": {
          "200": {
            "description": "Independent workflow draft and immutable published version for the requested transaction type.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionType",
                    "version",
                    "publishedVersion",
                    "publishedAt",
                    "draft",
                    "published",
                    "roles",
                    "configurationErrors"
                  ],
                  "properties": {
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "draft": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "stages",
                        "categories",
                        "fields"
                      ],
                      "properties": {
                        "approverAssignmentRoleIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "maxItems": 200,
                          "uniqueItems": true
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "sides"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "sides": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "section",
                                    "active",
                                    "approvalMode",
                                    "requirements"
                                  ],
                                  "properties": {
                                    "section": {
                                      "type": "string",
                                      "enum": [
                                        "GENERAL",
                                        "BUYER",
                                        "SELLER",
                                        "LESSOR",
                                        "LESSEE",
                                        "ASSIGNOR",
                                        "ASSIGNEE"
                                      ]
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "approvalMode": {
                                      "type": "string",
                                      "enum": [
                                        "NONE",
                                        "PARALLEL",
                                        "SEQUENTIAL"
                                      ]
                                    },
                                    "requirements": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "id",
                                          "roleId",
                                          "requiredCount",
                                          "active"
                                        ],
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                            "maxLength": 80
                                          },
                                          "roleId": {
                                            "type": "string",
                                            "maxLength": 80
                                          },
                                          "requiredCount": {
                                            "type": "integer",
                                            "minimum": 1,
                                            "maximum": 20
                                          },
                                          "active": {
                                            "type": "boolean"
                                          }
                                        }
                                      },
                                      "maxItems": 30
                                    }
                                  }
                                },
                                "maxItems": 2
                              }
                            }
                          },
                          "maxItems": 30
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "section"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              }
                            }
                          },
                          "maxItems": 100
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "categoryId",
                              "section",
                              "type",
                              "multiline",
                              "required",
                              "valueMode",
                              "defaultValue",
                              "lockedValue",
                              "formula",
                              "formulaPrecision",
                              "validation",
                              "options",
                              "viewRoleIds",
                              "editRoleIds"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "categoryId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TEXT",
                                  "NUMBER",
                                  "ENUM",
                                  "CHECKBOX"
                                ]
                              },
                              "multiline": {
                                "type": "boolean"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "valueMode": {
                                "type": "string",
                                "enum": [
                                  "INPUT",
                                  "DEFAULT",
                                  "LOCKED",
                                  "FORMULA"
                                ]
                              },
                              "defaultValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "lockedValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "formula": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 1000
                              },
                              "formulaPrecision": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 12
                              },
                              "validation": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "minLength",
                                  "maxLength",
                                  "textFormat",
                                  "minimum",
                                  "maximum",
                                  "integerOnly"
                                ],
                                "properties": {
                                  "minLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "maxLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "textFormat": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "EMAIL",
                                      "PHONE",
                                      "URL",
                                      "ALPHANUMERIC"
                                    ]
                                  },
                                  "minimum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "maximum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "integerOnly": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "options": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "label",
                                    "active"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                      "maxLength": 80
                                    },
                                    "label": {
                                      "type": "string",
                                      "maxLength": 160
                                    },
                                    "active": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "maxItems": 100
                              },
                              "viewRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              },
                              "editRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              }
                            }
                          },
                          "maxItems": 200
                        }
                      }
                    },
                    "published": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "stages",
                        "categories",
                        "fields"
                      ],
                      "properties": {
                        "approverAssignmentRoleIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "maxItems": 200,
                          "uniqueItems": true
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "sides"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "sides": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "section",
                                    "active",
                                    "approvalMode",
                                    "requirements"
                                  ],
                                  "properties": {
                                    "section": {
                                      "type": "string",
                                      "enum": [
                                        "GENERAL",
                                        "BUYER",
                                        "SELLER",
                                        "LESSOR",
                                        "LESSEE",
                                        "ASSIGNOR",
                                        "ASSIGNEE"
                                      ]
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "approvalMode": {
                                      "type": "string",
                                      "enum": [
                                        "NONE",
                                        "PARALLEL",
                                        "SEQUENTIAL"
                                      ]
                                    },
                                    "requirements": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "id",
                                          "roleId",
                                          "requiredCount",
                                          "active"
                                        ],
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                            "maxLength": 80
                                          },
                                          "roleId": {
                                            "type": "string",
                                            "maxLength": 80
                                          },
                                          "requiredCount": {
                                            "type": "integer",
                                            "minimum": 1,
                                            "maximum": 20
                                          },
                                          "active": {
                                            "type": "boolean"
                                          }
                                        }
                                      },
                                      "maxItems": 30
                                    }
                                  }
                                },
                                "maxItems": 2
                              }
                            }
                          },
                          "maxItems": 30
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "section"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              }
                            }
                          },
                          "maxItems": 100
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "categoryId",
                              "section",
                              "type",
                              "multiline",
                              "required",
                              "valueMode",
                              "defaultValue",
                              "lockedValue",
                              "formula",
                              "formulaPrecision",
                              "validation",
                              "options",
                              "viewRoleIds",
                              "editRoleIds"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "categoryId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TEXT",
                                  "NUMBER",
                                  "ENUM",
                                  "CHECKBOX"
                                ]
                              },
                              "multiline": {
                                "type": "boolean"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "valueMode": {
                                "type": "string",
                                "enum": [
                                  "INPUT",
                                  "DEFAULT",
                                  "LOCKED",
                                  "FORMULA"
                                ]
                              },
                              "defaultValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "lockedValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "formula": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 1000
                              },
                              "formulaPrecision": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 12
                              },
                              "validation": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "minLength",
                                  "maxLength",
                                  "textFormat",
                                  "minimum",
                                  "maximum",
                                  "integerOnly"
                                ],
                                "properties": {
                                  "minLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "maxLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "textFormat": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "EMAIL",
                                      "PHONE",
                                      "URL",
                                      "ALPHANUMERIC"
                                    ]
                                  },
                                  "minimum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "maximum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "integerOnly": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "options": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "label",
                                    "active"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                      "maxLength": 80
                                    },
                                    "label": {
                                      "type": "string",
                                      "maxLength": 160
                                    },
                                    "active": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "maxItems": 100
                              },
                              "viewRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              },
                              "editRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              }
                            }
                          },
                          "maxItems": 200
                        }
                      }
                    },
                    "roles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "name"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "configurationErrors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 200
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionType",
            "in": "path",
            "schema": {
              "type": "string",
              "enum": [
                "ASSIGNMENT",
                "SALE",
                "LEASE"
              ]
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "definition"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "definition": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "stages",
                      "categories",
                      "fields"
                    ],
                    "properties": {
                      "approverAssignmentRoleIds": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                          "maxLength": 80
                        },
                        "maxItems": 200,
                        "uniqueItems": true
                      },
                      "stages": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "label",
                            "description",
                            "active",
                            "displayOrder",
                            "sides"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 1000
                            },
                            "active": {
                              "type": "boolean"
                            },
                            "displayOrder": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "sides": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "section",
                                  "active",
                                  "approvalMode",
                                  "requirements"
                                ],
                                "properties": {
                                  "section": {
                                    "type": "string",
                                    "enum": [
                                      "GENERAL",
                                      "BUYER",
                                      "SELLER",
                                      "LESSOR",
                                      "LESSEE",
                                      "ASSIGNOR",
                                      "ASSIGNEE"
                                    ]
                                  },
                                  "active": {
                                    "type": "boolean"
                                  },
                                  "approvalMode": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "PARALLEL",
                                      "SEQUENTIAL"
                                    ]
                                  },
                                  "requirements": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "id",
                                        "roleId",
                                        "requiredCount",
                                        "active"
                                      ],
                                      "properties": {
                                        "id": {
                                          "type": "string",
                                          "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                          "maxLength": 80
                                        },
                                        "roleId": {
                                          "type": "string",
                                          "maxLength": 80
                                        },
                                        "requiredCount": {
                                          "type": "integer",
                                          "minimum": 1,
                                          "maximum": 20
                                        },
                                        "active": {
                                          "type": "boolean"
                                        }
                                      }
                                    },
                                    "maxItems": 30
                                  }
                                }
                              },
                              "maxItems": 2
                            }
                          }
                        },
                        "maxItems": 30
                      },
                      "categories": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "label",
                            "description",
                            "active",
                            "displayOrder",
                            "stageId",
                            "section"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 1000
                            },
                            "active": {
                              "type": "boolean"
                            },
                            "displayOrder": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "stageId": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "section": {
                              "type": "string",
                              "enum": [
                                "GENERAL",
                                "BUYER",
                                "SELLER",
                                "LESSOR",
                                "LESSEE",
                                "ASSIGNOR",
                                "ASSIGNEE"
                              ]
                            }
                          }
                        },
                        "maxItems": 100
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "label",
                            "description",
                            "active",
                            "displayOrder",
                            "stageId",
                            "categoryId",
                            "section",
                            "type",
                            "multiline",
                            "required",
                            "valueMode",
                            "defaultValue",
                            "lockedValue",
                            "formula",
                            "formulaPrecision",
                            "validation",
                            "options",
                            "viewRoleIds",
                            "editRoleIds"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 1000
                            },
                            "active": {
                              "type": "boolean"
                            },
                            "displayOrder": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "stageId": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "categoryId": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "section": {
                              "type": "string",
                              "enum": [
                                "GENERAL",
                                "BUYER",
                                "SELLER",
                                "LESSOR",
                                "LESSEE",
                                "ASSIGNOR",
                                "ASSIGNEE"
                              ]
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TEXT",
                                "NUMBER",
                                "ENUM",
                                "CHECKBOX"
                              ]
                            },
                            "multiline": {
                              "type": "boolean"
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "valueMode": {
                              "type": "string",
                              "enum": [
                                "INPUT",
                                "DEFAULT",
                                "LOCKED",
                                "FORMULA"
                              ]
                            },
                            "defaultValue": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 10000
                            },
                            "lockedValue": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 10000
                            },
                            "formula": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 1000
                            },
                            "formulaPrecision": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 12
                            },
                            "validation": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "minLength",
                                "maxLength",
                                "textFormat",
                                "minimum",
                                "maximum",
                                "integerOnly"
                              ],
                              "properties": {
                                "minLength": {
                                  "type": "integer",
                                  "nullable": true,
                                  "minimum": 0,
                                  "maximum": 10000
                                },
                                "maxLength": {
                                  "type": "integer",
                                  "nullable": true,
                                  "minimum": 0,
                                  "maximum": 10000
                                },
                                "textFormat": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "EMAIL",
                                    "PHONE",
                                    "URL",
                                    "ALPHANUMERIC"
                                  ]
                                },
                                "minimum": {
                                  "type": "string",
                                  "nullable": true,
                                  "maxLength": 10000
                                },
                                "maximum": {
                                  "type": "string",
                                  "nullable": true,
                                  "maxLength": 10000
                                },
                                "integerOnly": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "options": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "id",
                                  "label",
                                  "active"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                    "maxLength": 80
                                  },
                                  "label": {
                                    "type": "string",
                                    "maxLength": 160
                                  },
                                  "active": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "maxItems": 100
                            },
                            "viewRoleIds": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "maxItems": 200,
                              "uniqueItems": true
                            },
                            "editRoleIds": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "maxItems": 200,
                              "uniqueItems": true
                            }
                          }
                        },
                        "maxItems": 200
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowSettingsController.save"
      }
    },
    "/api/v1/transaction-workflow-settings/{transactionType}/impact-preview": {
      "get": {
        "x-controller-name": "TransactionWorkflowSettingsController",
        "x-operation-name": "impact",
        "tags": [
          "TransactionWorkflowSettingsController"
        ],
        "responses": {
          "200": {
            "description": "Configuration change counts and relevant transactions. Publishing does not modify transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionType",
                    "version",
                    "publishedVersion",
                    "relevantTransactions",
                    "editableTransactions",
                    "lockedTransactions",
                    "stages",
                    "categories",
                    "fields",
                    "configurationErrors"
                  ],
                  "properties": {
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "relevantTransactions": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "editableTransactions": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "lockedTransactions": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "stages": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "added",
                        "changed",
                        "deactivated"
                      ],
                      "properties": {
                        "added": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "changed": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "deactivated": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    },
                    "categories": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "added",
                        "changed",
                        "deactivated"
                      ],
                      "properties": {
                        "added": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "changed": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "deactivated": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    },
                    "fields": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "added",
                        "changed",
                        "deactivated"
                      ],
                      "properties": {
                        "added": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "changed": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "deactivated": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    },
                    "configurationErrors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 200
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionType",
            "in": "path",
            "schema": {
              "type": "string",
              "enum": [
                "ASSIGNMENT",
                "SALE",
                "LEASE"
              ]
            },
            "required": true
          }
        ],
        "operationId": "TransactionWorkflowSettingsController.impact"
      }
    },
    "/api/v1/transaction-workflow-settings/{transactionType}/preview": {
      "post": {
        "x-controller-name": "TransactionWorkflowSettingsController",
        "x-operation-name": "preview",
        "tags": [
          "TransactionWorkflowSettingsController"
        ],
        "responses": {
          "200": {
            "description": "Role-filtered simulation only. No sample values are persisted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "valid",
                    "configurationErrors",
                    "stages",
                    "categories",
                    "fields"
                  ],
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "configurationErrors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 200
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "active",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "active": {
                                  "type": "boolean"
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleId",
                                      "requiredCount",
                                      "active",
                                      "roleName"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleId": {
                                        "type": "string",
                                        "maxLength": 80
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 20
                                      },
                                      "active": {
                                        "type": "boolean"
                                      },
                                      "roleName": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "maxItems": 30
                                }
                              }
                            },
                            "maxItems": 2
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionType",
            "in": "path",
            "schema": {
              "type": "string",
              "enum": [
                "ASSIGNMENT",
                "SALE",
                "LEASE"
              ]
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "definition",
                  "roleIds",
                  "asRootOwner",
                  "values"
                ],
                "properties": {
                  "definition": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "stages",
                      "categories",
                      "fields"
                    ],
                    "properties": {
                      "approverAssignmentRoleIds": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                          "maxLength": 80
                        },
                        "maxItems": 200,
                        "uniqueItems": true
                      },
                      "stages": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "label",
                            "description",
                            "active",
                            "displayOrder",
                            "sides"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 1000
                            },
                            "active": {
                              "type": "boolean"
                            },
                            "displayOrder": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "sides": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "section",
                                  "active",
                                  "approvalMode",
                                  "requirements"
                                ],
                                "properties": {
                                  "section": {
                                    "type": "string",
                                    "enum": [
                                      "GENERAL",
                                      "BUYER",
                                      "SELLER",
                                      "LESSOR",
                                      "LESSEE",
                                      "ASSIGNOR",
                                      "ASSIGNEE"
                                    ]
                                  },
                                  "active": {
                                    "type": "boolean"
                                  },
                                  "approvalMode": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "PARALLEL",
                                      "SEQUENTIAL"
                                    ]
                                  },
                                  "requirements": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "id",
                                        "roleId",
                                        "requiredCount",
                                        "active"
                                      ],
                                      "properties": {
                                        "id": {
                                          "type": "string",
                                          "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                          "maxLength": 80
                                        },
                                        "roleId": {
                                          "type": "string",
                                          "maxLength": 80
                                        },
                                        "requiredCount": {
                                          "type": "integer",
                                          "minimum": 1,
                                          "maximum": 20
                                        },
                                        "active": {
                                          "type": "boolean"
                                        }
                                      }
                                    },
                                    "maxItems": 30
                                  }
                                }
                              },
                              "maxItems": 2
                            }
                          }
                        },
                        "maxItems": 30
                      },
                      "categories": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "label",
                            "description",
                            "active",
                            "displayOrder",
                            "stageId",
                            "section"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 1000
                            },
                            "active": {
                              "type": "boolean"
                            },
                            "displayOrder": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "stageId": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "section": {
                              "type": "string",
                              "enum": [
                                "GENERAL",
                                "BUYER",
                                "SELLER",
                                "LESSOR",
                                "LESSEE",
                                "ASSIGNOR",
                                "ASSIGNEE"
                              ]
                            }
                          }
                        },
                        "maxItems": 100
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "label",
                            "description",
                            "active",
                            "displayOrder",
                            "stageId",
                            "categoryId",
                            "section",
                            "type",
                            "multiline",
                            "required",
                            "valueMode",
                            "defaultValue",
                            "lockedValue",
                            "formula",
                            "formulaPrecision",
                            "validation",
                            "options",
                            "viewRoleIds",
                            "editRoleIds"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 1000
                            },
                            "active": {
                              "type": "boolean"
                            },
                            "displayOrder": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "stageId": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "categoryId": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "section": {
                              "type": "string",
                              "enum": [
                                "GENERAL",
                                "BUYER",
                                "SELLER",
                                "LESSOR",
                                "LESSEE",
                                "ASSIGNOR",
                                "ASSIGNEE"
                              ]
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TEXT",
                                "NUMBER",
                                "ENUM",
                                "CHECKBOX"
                              ]
                            },
                            "multiline": {
                              "type": "boolean"
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "valueMode": {
                              "type": "string",
                              "enum": [
                                "INPUT",
                                "DEFAULT",
                                "LOCKED",
                                "FORMULA"
                              ]
                            },
                            "defaultValue": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 10000
                            },
                            "lockedValue": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 10000
                            },
                            "formula": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 1000
                            },
                            "formulaPrecision": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 12
                            },
                            "validation": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "minLength",
                                "maxLength",
                                "textFormat",
                                "minimum",
                                "maximum",
                                "integerOnly"
                              ],
                              "properties": {
                                "minLength": {
                                  "type": "integer",
                                  "nullable": true,
                                  "minimum": 0,
                                  "maximum": 10000
                                },
                                "maxLength": {
                                  "type": "integer",
                                  "nullable": true,
                                  "minimum": 0,
                                  "maximum": 10000
                                },
                                "textFormat": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "EMAIL",
                                    "PHONE",
                                    "URL",
                                    "ALPHANUMERIC"
                                  ]
                                },
                                "minimum": {
                                  "type": "string",
                                  "nullable": true,
                                  "maxLength": 10000
                                },
                                "maximum": {
                                  "type": "string",
                                  "nullable": true,
                                  "maxLength": 10000
                                },
                                "integerOnly": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "options": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "id",
                                  "label",
                                  "active"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                    "maxLength": 80
                                  },
                                  "label": {
                                    "type": "string",
                                    "maxLength": 160
                                  },
                                  "active": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "maxItems": 100
                            },
                            "viewRoleIds": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "maxItems": 200,
                              "uniqueItems": true
                            },
                            "editRoleIds": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "maxItems": 200,
                              "uniqueItems": true
                            }
                          }
                        },
                        "maxItems": 200
                      }
                    }
                  },
                  "roleIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                      "maxLength": 80
                    },
                    "maxItems": 200,
                    "uniqueItems": true
                  },
                  "asRootOwner": {
                    "type": "boolean"
                  },
                  "values": {
                    "type": "object",
                    "maxProperties": 200,
                    "additionalProperties": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowSettingsController.preview"
      }
    },
    "/api/v1/transaction-workflow-settings/{transactionType}/publish": {
      "post": {
        "x-controller-name": "TransactionWorkflowSettingsController",
        "x-operation-name": "publish",
        "tags": [
          "TransactionWorkflowSettingsController"
        ],
        "responses": {
          "200": {
            "description": "Independent workflow draft and immutable published version for the requested transaction type.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionType",
                    "version",
                    "publishedVersion",
                    "publishedAt",
                    "draft",
                    "published",
                    "roles",
                    "configurationErrors"
                  ],
                  "properties": {
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "draft": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "stages",
                        "categories",
                        "fields"
                      ],
                      "properties": {
                        "approverAssignmentRoleIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "maxItems": 200,
                          "uniqueItems": true
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "sides"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "sides": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "section",
                                    "active",
                                    "approvalMode",
                                    "requirements"
                                  ],
                                  "properties": {
                                    "section": {
                                      "type": "string",
                                      "enum": [
                                        "GENERAL",
                                        "BUYER",
                                        "SELLER",
                                        "LESSOR",
                                        "LESSEE",
                                        "ASSIGNOR",
                                        "ASSIGNEE"
                                      ]
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "approvalMode": {
                                      "type": "string",
                                      "enum": [
                                        "NONE",
                                        "PARALLEL",
                                        "SEQUENTIAL"
                                      ]
                                    },
                                    "requirements": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "id",
                                          "roleId",
                                          "requiredCount",
                                          "active"
                                        ],
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                            "maxLength": 80
                                          },
                                          "roleId": {
                                            "type": "string",
                                            "maxLength": 80
                                          },
                                          "requiredCount": {
                                            "type": "integer",
                                            "minimum": 1,
                                            "maximum": 20
                                          },
                                          "active": {
                                            "type": "boolean"
                                          }
                                        }
                                      },
                                      "maxItems": 30
                                    }
                                  }
                                },
                                "maxItems": 2
                              }
                            }
                          },
                          "maxItems": 30
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "section"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              }
                            }
                          },
                          "maxItems": 100
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "categoryId",
                              "section",
                              "type",
                              "multiline",
                              "required",
                              "valueMode",
                              "defaultValue",
                              "lockedValue",
                              "formula",
                              "formulaPrecision",
                              "validation",
                              "options",
                              "viewRoleIds",
                              "editRoleIds"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "categoryId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TEXT",
                                  "NUMBER",
                                  "ENUM",
                                  "CHECKBOX"
                                ]
                              },
                              "multiline": {
                                "type": "boolean"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "valueMode": {
                                "type": "string",
                                "enum": [
                                  "INPUT",
                                  "DEFAULT",
                                  "LOCKED",
                                  "FORMULA"
                                ]
                              },
                              "defaultValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "lockedValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "formula": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 1000
                              },
                              "formulaPrecision": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 12
                              },
                              "validation": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "minLength",
                                  "maxLength",
                                  "textFormat",
                                  "minimum",
                                  "maximum",
                                  "integerOnly"
                                ],
                                "properties": {
                                  "minLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "maxLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "textFormat": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "EMAIL",
                                      "PHONE",
                                      "URL",
                                      "ALPHANUMERIC"
                                    ]
                                  },
                                  "minimum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "maximum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "integerOnly": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "options": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "label",
                                    "active"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                      "maxLength": 80
                                    },
                                    "label": {
                                      "type": "string",
                                      "maxLength": 160
                                    },
                                    "active": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "maxItems": 100
                              },
                              "viewRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              },
                              "editRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              }
                            }
                          },
                          "maxItems": 200
                        }
                      }
                    },
                    "published": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "stages",
                        "categories",
                        "fields"
                      ],
                      "properties": {
                        "approverAssignmentRoleIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "maxItems": 200,
                          "uniqueItems": true
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "sides"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "sides": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "section",
                                    "active",
                                    "approvalMode",
                                    "requirements"
                                  ],
                                  "properties": {
                                    "section": {
                                      "type": "string",
                                      "enum": [
                                        "GENERAL",
                                        "BUYER",
                                        "SELLER",
                                        "LESSOR",
                                        "LESSEE",
                                        "ASSIGNOR",
                                        "ASSIGNEE"
                                      ]
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "approvalMode": {
                                      "type": "string",
                                      "enum": [
                                        "NONE",
                                        "PARALLEL",
                                        "SEQUENTIAL"
                                      ]
                                    },
                                    "requirements": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "id",
                                          "roleId",
                                          "requiredCount",
                                          "active"
                                        ],
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                            "maxLength": 80
                                          },
                                          "roleId": {
                                            "type": "string",
                                            "maxLength": 80
                                          },
                                          "requiredCount": {
                                            "type": "integer",
                                            "minimum": 1,
                                            "maximum": 20
                                          },
                                          "active": {
                                            "type": "boolean"
                                          }
                                        }
                                      },
                                      "maxItems": 30
                                    }
                                  }
                                },
                                "maxItems": 2
                              }
                            }
                          },
                          "maxItems": 30
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "section"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              }
                            }
                          },
                          "maxItems": 100
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "categoryId",
                              "section",
                              "type",
                              "multiline",
                              "required",
                              "valueMode",
                              "defaultValue",
                              "lockedValue",
                              "formula",
                              "formulaPrecision",
                              "validation",
                              "options",
                              "viewRoleIds",
                              "editRoleIds"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "categoryId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TEXT",
                                  "NUMBER",
                                  "ENUM",
                                  "CHECKBOX"
                                ]
                              },
                              "multiline": {
                                "type": "boolean"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "valueMode": {
                                "type": "string",
                                "enum": [
                                  "INPUT",
                                  "DEFAULT",
                                  "LOCKED",
                                  "FORMULA"
                                ]
                              },
                              "defaultValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "lockedValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "formula": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 1000
                              },
                              "formulaPrecision": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 12
                              },
                              "validation": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "minLength",
                                  "maxLength",
                                  "textFormat",
                                  "minimum",
                                  "maximum",
                                  "integerOnly"
                                ],
                                "properties": {
                                  "minLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "maxLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "textFormat": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "EMAIL",
                                      "PHONE",
                                      "URL",
                                      "ALPHANUMERIC"
                                    ]
                                  },
                                  "minimum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "maximum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "integerOnly": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "options": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "label",
                                    "active"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                      "maxLength": 80
                                    },
                                    "label": {
                                      "type": "string",
                                      "maxLength": 160
                                    },
                                    "active": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "maxItems": 100
                              },
                              "viewRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              },
                              "editRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              }
                            }
                          },
                          "maxItems": 200
                        }
                      }
                    },
                    "roles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "name"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "configurationErrors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 200
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionType",
            "in": "path",
            "schema": {
              "type": "string",
              "enum": [
                "ASSIGNMENT",
                "SALE",
                "LEASE"
              ]
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowSettingsController.publish"
      }
    },
    "/api/v1/transaction-workflow-settings/{transactionType}": {
      "get": {
        "x-controller-name": "TransactionWorkflowSettingsController",
        "x-operation-name": "get",
        "tags": [
          "TransactionWorkflowSettingsController"
        ],
        "responses": {
          "200": {
            "description": "Independent workflow draft and immutable published version for the requested transaction type.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionType",
                    "version",
                    "publishedVersion",
                    "publishedAt",
                    "draft",
                    "published",
                    "roles",
                    "configurationErrors"
                  ],
                  "properties": {
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "publishedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "draft": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "stages",
                        "categories",
                        "fields"
                      ],
                      "properties": {
                        "approverAssignmentRoleIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "maxItems": 200,
                          "uniqueItems": true
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "sides"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "sides": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "section",
                                    "active",
                                    "approvalMode",
                                    "requirements"
                                  ],
                                  "properties": {
                                    "section": {
                                      "type": "string",
                                      "enum": [
                                        "GENERAL",
                                        "BUYER",
                                        "SELLER",
                                        "LESSOR",
                                        "LESSEE",
                                        "ASSIGNOR",
                                        "ASSIGNEE"
                                      ]
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "approvalMode": {
                                      "type": "string",
                                      "enum": [
                                        "NONE",
                                        "PARALLEL",
                                        "SEQUENTIAL"
                                      ]
                                    },
                                    "requirements": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "id",
                                          "roleId",
                                          "requiredCount",
                                          "active"
                                        ],
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                            "maxLength": 80
                                          },
                                          "roleId": {
                                            "type": "string",
                                            "maxLength": 80
                                          },
                                          "requiredCount": {
                                            "type": "integer",
                                            "minimum": 1,
                                            "maximum": 20
                                          },
                                          "active": {
                                            "type": "boolean"
                                          }
                                        }
                                      },
                                      "maxItems": 30
                                    }
                                  }
                                },
                                "maxItems": 2
                              }
                            }
                          },
                          "maxItems": 30
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "section"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              }
                            }
                          },
                          "maxItems": 100
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "categoryId",
                              "section",
                              "type",
                              "multiline",
                              "required",
                              "valueMode",
                              "defaultValue",
                              "lockedValue",
                              "formula",
                              "formulaPrecision",
                              "validation",
                              "options",
                              "viewRoleIds",
                              "editRoleIds"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "categoryId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TEXT",
                                  "NUMBER",
                                  "ENUM",
                                  "CHECKBOX"
                                ]
                              },
                              "multiline": {
                                "type": "boolean"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "valueMode": {
                                "type": "string",
                                "enum": [
                                  "INPUT",
                                  "DEFAULT",
                                  "LOCKED",
                                  "FORMULA"
                                ]
                              },
                              "defaultValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "lockedValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "formula": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 1000
                              },
                              "formulaPrecision": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 12
                              },
                              "validation": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "minLength",
                                  "maxLength",
                                  "textFormat",
                                  "minimum",
                                  "maximum",
                                  "integerOnly"
                                ],
                                "properties": {
                                  "minLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "maxLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "textFormat": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "EMAIL",
                                      "PHONE",
                                      "URL",
                                      "ALPHANUMERIC"
                                    ]
                                  },
                                  "minimum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "maximum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "integerOnly": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "options": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "label",
                                    "active"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                      "maxLength": 80
                                    },
                                    "label": {
                                      "type": "string",
                                      "maxLength": 160
                                    },
                                    "active": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "maxItems": 100
                              },
                              "viewRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              },
                              "editRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              }
                            }
                          },
                          "maxItems": 200
                        }
                      }
                    },
                    "published": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "stages",
                        "categories",
                        "fields"
                      ],
                      "properties": {
                        "approverAssignmentRoleIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "maxItems": 200,
                          "uniqueItems": true
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "sides"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "sides": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "section",
                                    "active",
                                    "approvalMode",
                                    "requirements"
                                  ],
                                  "properties": {
                                    "section": {
                                      "type": "string",
                                      "enum": [
                                        "GENERAL",
                                        "BUYER",
                                        "SELLER",
                                        "LESSOR",
                                        "LESSEE",
                                        "ASSIGNOR",
                                        "ASSIGNEE"
                                      ]
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "approvalMode": {
                                      "type": "string",
                                      "enum": [
                                        "NONE",
                                        "PARALLEL",
                                        "SEQUENTIAL"
                                      ]
                                    },
                                    "requirements": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "id",
                                          "roleId",
                                          "requiredCount",
                                          "active"
                                        ],
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                            "maxLength": 80
                                          },
                                          "roleId": {
                                            "type": "string",
                                            "maxLength": 80
                                          },
                                          "requiredCount": {
                                            "type": "integer",
                                            "minimum": 1,
                                            "maximum": 20
                                          },
                                          "active": {
                                            "type": "boolean"
                                          }
                                        }
                                      },
                                      "maxItems": 30
                                    }
                                  }
                                },
                                "maxItems": 2
                              }
                            }
                          },
                          "maxItems": 30
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "section"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              }
                            }
                          },
                          "maxItems": 100
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "label",
                              "description",
                              "active",
                              "displayOrder",
                              "stageId",
                              "categoryId",
                              "section",
                              "type",
                              "multiline",
                              "required",
                              "valueMode",
                              "defaultValue",
                              "lockedValue",
                              "formula",
                              "formulaPrecision",
                              "validation",
                              "options",
                              "viewRoleIds",
                              "editRoleIds"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "label": {
                                "type": "string",
                                "maxLength": 160
                              },
                              "description": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "displayOrder": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "stageId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "categoryId": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                "maxLength": 80
                              },
                              "section": {
                                "type": "string",
                                "enum": [
                                  "GENERAL",
                                  "BUYER",
                                  "SELLER",
                                  "LESSOR",
                                  "LESSEE",
                                  "ASSIGNOR",
                                  "ASSIGNEE"
                                ]
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TEXT",
                                  "NUMBER",
                                  "ENUM",
                                  "CHECKBOX"
                                ]
                              },
                              "multiline": {
                                "type": "boolean"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "valueMode": {
                                "type": "string",
                                "enum": [
                                  "INPUT",
                                  "DEFAULT",
                                  "LOCKED",
                                  "FORMULA"
                                ]
                              },
                              "defaultValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "lockedValue": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "formula": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 1000
                              },
                              "formulaPrecision": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 12
                              },
                              "validation": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "minLength",
                                  "maxLength",
                                  "textFormat",
                                  "minimum",
                                  "maximum",
                                  "integerOnly"
                                ],
                                "properties": {
                                  "minLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "maxLength": {
                                    "type": "integer",
                                    "nullable": true,
                                    "minimum": 0,
                                    "maximum": 10000
                                  },
                                  "textFormat": {
                                    "type": "string",
                                    "enum": [
                                      "NONE",
                                      "EMAIL",
                                      "PHONE",
                                      "URL",
                                      "ALPHANUMERIC"
                                    ]
                                  },
                                  "minimum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "maximum": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "integerOnly": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "options": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "label",
                                    "active"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                      "maxLength": 80
                                    },
                                    "label": {
                                      "type": "string",
                                      "maxLength": 160
                                    },
                                    "active": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "maxItems": 100
                              },
                              "viewRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              },
                              "editRoleIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "maxItems": 200,
                                "uniqueItems": true
                              }
                            }
                          },
                          "maxItems": 200
                        }
                      }
                    },
                    "roles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "name"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "configurationErrors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 200
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionType",
            "in": "path",
            "schema": {
              "type": "string",
              "enum": [
                "ASSIGNMENT",
                "SALE",
                "LEASE"
              ]
            },
            "required": true
          }
        ],
        "operationId": "TransactionWorkflowSettingsController.get"
      }
    },
    "/api/v1/transactions/visible-count": {
      "get": {
        "x-controller-name": "TransactionsController",
        "x-operation-name": "count",
        "tags": [
          "TransactionsController"
        ],
        "responses": {
          "200": {
            "description": "Visible transaction count.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "count"
                  ],
                  "properties": {
                    "count": {
                      "type": "integer",
                      "minimum": 0
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "TransactionsController.count"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/advance": {
      "post": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "advance",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "expectedWorkflowVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "expectedWorkflowVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowExecutionController.advance"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/approve": {
      "post": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "approve",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "expectedWorkflowVersion",
                  "section",
                  "requirementId"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "expectedWorkflowVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "section": {
                    "type": "string",
                    "enum": [
                      "GENERAL",
                      "BUYER",
                      "SELLER",
                      "LESSOR",
                      "LESSEE",
                      "ASSIGNOR",
                      "ASSIGNEE"
                    ]
                  },
                  "requirementId": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                    "maxLength": 80
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowExecutionController.approve"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/approver-options": {
      "get": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "approverOptions",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Active eligible approvers available to the configured assignment roles.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "users"
                  ],
                  "properties": {
                    "users": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "username",
                          "displayName",
                          "roleIds"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "username": {
                            "type": "string"
                          },
                          "displayName": {
                            "type": "string"
                          },
                          "roleIds": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                              "maxLength": 80
                            },
                            "maxItems": 200,
                            "uniqueItems": true
                          }
                        }
                      },
                      "maxItems": 10000
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransactionWorkflowExecutionController.approverOptions"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/approvers": {
      "put": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "assign",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "expectedWorkflowVersion",
                  "section",
                  "requirementId",
                  "stageId",
                  "userIds"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "expectedWorkflowVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "section": {
                    "type": "string",
                    "enum": [
                      "GENERAL",
                      "BUYER",
                      "SELLER",
                      "LESSOR",
                      "LESSEE",
                      "ASSIGNOR",
                      "ASSIGNEE"
                    ]
                  },
                  "requirementId": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                    "maxLength": 80
                  },
                  "stageId": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                    "maxLength": 80
                  },
                  "userIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                      "maxLength": 80
                    },
                    "maxItems": 20,
                    "uniqueItems": true,
                    "minItems": 1
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowExecutionController.assign"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/reopen": {
      "post": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "reopen",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "expectedWorkflowVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "expectedWorkflowVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowExecutionController.reopen"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/submit": {
      "post": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "submit",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "expectedWorkflowVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "expectedWorkflowVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowExecutionController.submit"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow/values": {
      "put": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "save",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion",
                  "expectedWorkflowVersion",
                  "values"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "expectedWorkflowVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "values": {
                    "type": "object",
                    "maxProperties": 200,
                    "additionalProperties": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    }
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TransactionWorkflowExecutionController.save"
      }
    },
    "/api/v1/transactions/{transactionId}/workflow": {
      "get": {
        "x-controller-name": "TransactionWorkflowExecutionController",
        "x-operation-name": "get",
        "tags": [
          "TransactionWorkflowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Published transaction workflow with role-filtered fields and available actions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transactionId",
                    "transactionType",
                    "version",
                    "workflowVersion",
                    "assigned",
                    "locked",
                    "status",
                    "currentStageId",
                    "stages",
                    "categories",
                    "fields",
                    "canSave",
                    "canSubmit",
                    "canReopen",
                    "canAdvance",
                    "canAssignApprovers",
                    "assignmentsComplete"
                  ],
                  "properties": {
                    "transactionId": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "workflowVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "assigned": {
                      "type": "boolean"
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_CONFIGURED",
                        "IN_PROGRESS",
                        "AWAITING_APPROVAL",
                        "READY",
                        "COMPLETED"
                      ]
                    },
                    "currentStageId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "stages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "status",
                          "sides"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PENDING",
                              "IN_PROGRESS",
                              "AWAITING_APPROVAL",
                              "READY",
                              "COMPLETED"
                            ]
                          },
                          "sides": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "section",
                                "approvalMode",
                                "requirements"
                              ],
                              "properties": {
                                "section": {
                                  "type": "string",
                                  "enum": [
                                    "GENERAL",
                                    "BUYER",
                                    "SELLER",
                                    "LESSOR",
                                    "LESSEE",
                                    "ASSIGNOR",
                                    "ASSIGNEE"
                                  ]
                                },
                                "approvalMode": {
                                  "type": "string",
                                  "enum": [
                                    "NONE",
                                    "PARALLEL",
                                    "SEQUENTIAL"
                                  ]
                                },
                                "requirements": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "id",
                                      "roleName",
                                      "roleId",
                                      "assignedUsers",
                                      "requiredCount",
                                      "approvedCount",
                                      "approvedByMe",
                                      "canApprove"
                                    ],
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                        "maxLength": 80
                                      },
                                      "roleName": {
                                        "type": "string"
                                      },
                                      "roleId": {
                                        "type": "string"
                                      },
                                      "assignedUsers": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "id",
                                            "username",
                                            "displayName"
                                          ],
                                          "properties": {
                                            "id": {
                                              "type": "string"
                                            },
                                            "username": {
                                              "type": "string"
                                            },
                                            "displayName": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "maxItems": 20
                                      },
                                      "requiredCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedCount": {
                                        "type": "integer",
                                        "minimum": 0
                                      },
                                      "approvedByMe": {
                                        "type": "boolean"
                                      },
                                      "canApprove": {
                                        "type": "boolean"
                                      }
                                    }
                                  },
                                  "maxItems": 200
                                }
                              }
                            },
                            "maxItems": 200
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "label",
                          "description",
                          "active",
                          "displayOrder",
                          "stageId",
                          "section"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "label": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 1000
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "stageId",
                          "categoryId",
                          "section",
                          "label",
                          "description",
                          "type",
                          "multiline",
                          "displayOrder",
                          "required",
                          "locked",
                          "computed",
                          "options",
                          "validation",
                          "value",
                          "error",
                          "canEdit"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "stageId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "categoryId": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                            "maxLength": 80
                          },
                          "section": {
                            "type": "string",
                            "enum": [
                              "GENERAL",
                              "BUYER",
                              "SELLER",
                              "LESSOR",
                              "LESSEE",
                              "ASSIGNOR",
                              "ASSIGNEE"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TEXT",
                              "NUMBER",
                              "ENUM",
                              "CHECKBOX"
                            ]
                          },
                          "multiline": {
                            "type": "boolean"
                          },
                          "displayOrder": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "locked": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "boolean"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "id",
                                "label",
                                "active"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
                                  "maxLength": 80
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "active": {
                                  "type": "boolean"
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "validation": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "minLength",
                              "maxLength",
                              "textFormat",
                              "minimum",
                              "maximum",
                              "integerOnly"
                            ],
                            "properties": {
                              "minLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "maxLength": {
                                "type": "integer",
                                "nullable": true,
                                "minimum": 0,
                                "maximum": 10000
                              },
                              "textFormat": {
                                "type": "string",
                                "enum": [
                                  "NONE",
                                  "EMAIL",
                                  "PHONE",
                                  "URL",
                                  "ALPHANUMERIC"
                                ]
                              },
                              "minimum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "maximum": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "integerOnly": {
                                "type": "boolean"
                              }
                            }
                          },
                          "value": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "error": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "canEdit": {
                            "type": "boolean"
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "canSave": {
                      "type": "boolean"
                    },
                    "canSubmit": {
                      "type": "boolean"
                    },
                    "canReopen": {
                      "type": "boolean"
                    },
                    "canAdvance": {
                      "type": "boolean"
                    },
                    "canAssignApprovers": {
                      "type": "boolean"
                    },
                    "assignmentsComplete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransactionWorkflowExecutionController.get"
      }
    },
    "/api/v1/transactions/{transactionId}": {
      "get": {
        "x-controller-name": "TransactionsController",
        "x-operation-name": "detail",
        "tags": [
          "TransactionsController"
        ],
        "responses": {
          "200": {
            "description": "Basic transaction information only.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "transactionNumber",
                    "sourceType",
                    "sourceMatchId",
                    "sourceListingIds",
                    "clubName",
                    "shareClassName",
                    "matchApproval",
                    "clubId",
                    "shareClassCode",
                    "transactionType",
                    "currency",
                    "parties",
                    "workflowEditState",
                    "workflow",
                    "version",
                    "createdAt",
                    "updatedAt",
                    "archivedAt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "transactionNumber": {
                      "type": "string"
                    },
                    "sourceType": {
                      "type": "string"
                    },
                    "sourceMatchId": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "sourceListingIds": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 200
                    },
                    "clubName": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "shareClassName": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 10000
                    },
                    "matchApproval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "approvedAt",
                        "approvedBy"
                      ],
                      "properties": {
                        "approvedAt": {
                          "type": "string",
                          "format": "date-time",
                          "nullable": true
                        },
                        "approvedBy": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "id",
                            "name",
                            "username"
                          ],
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 10000
                            },
                            "username": {
                              "type": "string",
                              "nullable": true,
                              "maxLength": 10000
                            }
                          },
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "clubId": {
                      "type": "string"
                    },
                    "shareClassCode": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string",
                      "enum": [
                        "ASSIGNMENT",
                        "SALE",
                        "LEASE"
                      ]
                    },
                    "currency": {
                      "type": "string"
                    },
                    "parties": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "partyRole",
                          "clientType",
                          "displayName",
                          "sourceListingId",
                          "ownerSalesman",
                          "ownerTeam",
                          "price"
                        ],
                        "properties": {
                          "partyRole": {
                            "type": "string"
                          },
                          "clientType": {
                            "type": "string"
                          },
                          "displayName": {
                            "type": "string"
                          },
                          "sourceListingId": {
                            "type": "string"
                          },
                          "ownerSalesman": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "name",
                              "username"
                            ],
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "username": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              }
                            },
                            "nullable": true
                          },
                          "ownerTeam": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "name"
                            ],
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              }
                            },
                            "nullable": true
                          },
                          "price": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "amount",
                              "currency"
                            ],
                            "properties": {
                              "amount": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "workflowEditState": {
                      "type": "string",
                      "enum": [
                        "EDITABLE",
                        "LOCKED"
                      ]
                    },
                    "workflow": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "version",
                        "status",
                        "currentStageLabel",
                        "completedStages"
                      ],
                      "properties": {
                        "version": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "NOT_STARTED",
                            "IN_PROGRESS",
                            "AWAITING_APPROVAL",
                            "READY",
                            "COMPLETED",
                            "LOCKED"
                          ]
                        },
                        "currentStageLabel": {
                          "type": "string",
                          "nullable": true,
                          "maxLength": 10000
                        },
                        "completedStages": {
                          "type": "integer",
                          "minimum": 0
                        }
                      }
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "archivedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransactionsController.detail"
      }
    },
    "/api/v1/transactions": {
      "get": {
        "x-controller-name": "TransactionsController",
        "x-operation-name": "list",
        "tags": [
          "TransactionsController"
        ],
        "responses": {
          "200": {
            "description": "Visible basic transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "data",
                    "page",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "transactionNumber",
                          "sourceType",
                          "sourceMatchId",
                          "sourceListingIds",
                          "clubName",
                          "shareClassName",
                          "matchApproval",
                          "clubId",
                          "shareClassCode",
                          "transactionType",
                          "currency",
                          "parties",
                          "workflowEditState",
                          "workflow",
                          "version",
                          "createdAt",
                          "updatedAt",
                          "archivedAt"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "transactionNumber": {
                            "type": "string"
                          },
                          "sourceType": {
                            "type": "string"
                          },
                          "sourceMatchId": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "sourceListingIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "maxItems": 200
                          },
                          "clubName": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "shareClassName": {
                            "type": "string",
                            "nullable": true,
                            "maxLength": 10000
                          },
                          "matchApproval": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "approvedAt",
                              "approvedBy"
                            ],
                            "properties": {
                              "approvedAt": {
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                              },
                              "approvedBy": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "id",
                                  "name",
                                  "username"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  },
                                  "username": {
                                    "type": "string",
                                    "nullable": true,
                                    "maxLength": 10000
                                  }
                                },
                                "nullable": true
                              }
                            },
                            "nullable": true
                          },
                          "clubId": {
                            "type": "string"
                          },
                          "shareClassCode": {
                            "type": "string"
                          },
                          "transactionType": {
                            "type": "string",
                            "enum": [
                              "ASSIGNMENT",
                              "SALE",
                              "LEASE"
                            ]
                          },
                          "currency": {
                            "type": "string"
                          },
                          "parties": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "partyRole",
                                "clientType",
                                "displayName",
                                "sourceListingId",
                                "ownerSalesman",
                                "ownerTeam",
                                "price"
                              ],
                              "properties": {
                                "partyRole": {
                                  "type": "string"
                                },
                                "clientType": {
                                  "type": "string"
                                },
                                "displayName": {
                                  "type": "string"
                                },
                                "sourceListingId": {
                                  "type": "string"
                                },
                                "ownerSalesman": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "name",
                                    "username"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string",
                                      "nullable": true,
                                      "maxLength": 10000
                                    },
                                    "username": {
                                      "type": "string",
                                      "nullable": true,
                                      "maxLength": 10000
                                    }
                                  },
                                  "nullable": true
                                },
                                "ownerTeam": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "id",
                                    "name"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string",
                                      "nullable": true,
                                      "maxLength": 10000
                                    }
                                  },
                                  "nullable": true
                                },
                                "price": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "amount",
                                    "currency"
                                  ],
                                  "properties": {
                                    "amount": {
                                      "type": "string"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                }
                              }
                            },
                            "maxItems": 200
                          },
                          "workflowEditState": {
                            "type": "string",
                            "enum": [
                              "EDITABLE",
                              "LOCKED"
                            ]
                          },
                          "workflow": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "version",
                              "status",
                              "currentStageLabel",
                              "completedStages"
                            ],
                            "properties": {
                              "version": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "status": {
                                "type": "string",
                                "enum": [
                                  "NOT_STARTED",
                                  "IN_PROGRESS",
                                  "AWAITING_APPROVAL",
                                  "READY",
                                  "COMPLETED",
                                  "LOCKED"
                                ]
                              },
                              "currentStageLabel": {
                                "type": "string",
                                "nullable": true,
                                "maxLength": 10000
                              },
                              "completedStages": {
                                "type": "integer",
                                "minimum": 0
                              }
                            }
                          },
                          "version": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "archivedAt": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true
                          }
                        }
                      },
                      "maxItems": 200
                    },
                    "page": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "limit",
                        "hasMore",
                        "nextCursor"
                      ],
                      "properties": {
                        "limit": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "hasMore": {
                          "type": "boolean"
                        },
                        "nextCursor": {
                          "type": "string",
                          "nullable": true,
                          "maxLength": 10000
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "correlationId"
                      ],
                      "properties": {
                        "correlationId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clubId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shareClassCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceMatchId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "TransactionsController.list"
      }
    },
    "/api/v1/users/{userId}/archive": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "archive",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.archive"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.archive"
      }
    },
    "/api/v1/users/{userId}/block": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "block",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.block"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.block"
      }
    },
    "/api/v1/users/{userId}/delegation-policy": {
      "put": {
        "x-controller-name": "UsersController",
        "x-operation-name": "setDelegationPolicy",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.setDelegationPolicy"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "canManageUsers",
                  "manageableScope"
                ],
                "properties": {
                  "canManageUsers": {
                    "type": "boolean"
                  },
                  "manageableScope": {
                    "type": "string",
                    "enum": [
                      "NONE",
                      "TEAM",
                      "ALL_NON_PROTECTED"
                    ]
                  },
                  "assignableRoleIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "assignablePermissionCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "maximumScopeByPermission": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.setDelegationPolicy"
      }
    },
    "/api/v1/users/{userId}/effective-access": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "effectiveAccess",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.effectiveAccess"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.effectiveAccess"
      }
    },
    "/api/v1/users/{userId}/permission-overrides": {
      "put": {
        "x-controller-name": "UsersController",
        "x-operation-name": "setPermissionOverrides",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.setPermissionOverrides"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "overrides"
                ],
                "properties": {
                  "overrides": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "effect",
                        "permissionCode"
                      ],
                      "properties": {
                        "effect": {
                          "type": "string",
                          "enum": [
                            "ALLOW",
                            "DENY"
                          ]
                        },
                        "permissionCode": {
                          "type": "string"
                        },
                        "scope": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.setPermissionOverrides"
      }
    },
    "/api/v1/users/{userId}/restore": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "restore",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.restore"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.restore"
      }
    },
    "/api/v1/users/{userId}/revoke-sessions": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "revokeSessions",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.revokeSessions"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.revokeSessions"
      }
    },
    "/api/v1/users/{userId}/roles": {
      "put": {
        "x-controller-name": "UsersController",
        "x-operation-name": "assignRoles",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.assignRoles"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "roleIds"
                ],
                "properties": {
                  "roleIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.assignRoles"
      }
    },
    "/api/v1/users/{userId}/team": {
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "assignTeams",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.assignTeams"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "teamIds"
                ],
                "properties": {
                  "teamIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.assignTeams"
      }
    },
    "/api/v1/users/{userId}/unblock": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "unblock",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.unblock"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.unblock"
      }
    },
    "/api/v1/users/{userId}": {
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "update",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.update"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.update"
      },
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "findById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.findById"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.findById"
      }
    },
    "/api/v1/users": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "create",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "username",
                  "password"
                ],
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 12
                  },
                  "displayName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "roleIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "teamIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "INVITED",
                      "ACTIVE"
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "UsersController.create"
      },
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "list",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.list"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "UsersController.list"
      }
    },
    "/api/v1/workable-checklists/{role}/admin": {
      "get": {
        "x-controller-name": "WorkableChecklistsController",
        "x-operation-name": "getAdmin",
        "tags": [
          "WorkableChecklistsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableChecklistsController.getAdmin"
          }
        },
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkableChecklistsController.getAdmin"
      }
    },
    "/api/v1/workable-checklists/{role}/draft": {
      "put": {
        "x-controller-name": "WorkableChecklistsController",
        "x-operation-name": "saveDraft",
        "tags": [
          "WorkableChecklistsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableChecklistsController.saveDraft"
          }
        },
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "items"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "items": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "label",
                        "requirement"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 160
                        },
                        "requirement": {
                          "type": "string",
                          "enum": [
                            "REQUIRED",
                            "OPTIONAL"
                          ]
                        },
                        "active": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkableChecklistsController.saveDraft"
      }
    },
    "/api/v1/workable-checklists/{role}/enforce-existing": {
      "post": {
        "x-controller-name": "WorkableChecklistsController",
        "x-operation-name": "enforceExisting",
        "tags": [
          "WorkableChecklistsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableChecklistsController.enforceExisting"
          }
        },
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkableChecklistsController.enforceExisting"
      }
    },
    "/api/v1/workable-checklists/{role}/impact-preview": {
      "get": {
        "x-controller-name": "WorkableChecklistsController",
        "x-operation-name": "impactPreview",
        "tags": [
          "WorkableChecklistsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableChecklistsController.impactPreview"
          }
        },
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkableChecklistsController.impactPreview"
      }
    },
    "/api/v1/workable-checklists/{role}/publish": {
      "post": {
        "x-controller-name": "WorkableChecklistsController",
        "x-operation-name": "publish",
        "tags": [
          "WorkableChecklistsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableChecklistsController.publish"
          }
        },
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedVersion"
                ],
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkableChecklistsController.publish"
      }
    },
    "/api/v1/workable-checklists/{role}": {
      "get": {
        "x-controller-name": "WorkableChecklistsController",
        "x-operation-name": "getPublished",
        "tags": [
          "WorkableChecklistsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkableChecklistsController.getPublished"
          }
        },
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkableChecklistsController.getPublished"
      }
    },
    "/health/live": {
      "get": {
        "x-controller-name": "HealthController",
        "x-operation-name": "live",
        "tags": [
          "HealthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of HealthController.live"
          }
        },
        "operationId": "HealthController.live"
      }
    },
    "/health/ready": {
      "get": {
        "x-controller-name": "HealthController",
        "x-operation-name": "ready",
        "tags": [
          "HealthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of HealthController.ready"
          }
        },
        "operationId": "HealthController.ready"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.pgacrm.xyz"
    }
  ],
  "components": {
    "schemas": {
      "Activity": {
        "title": "Activity",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "activityType": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "details": {
            "type": "string"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "assignedUserId": {
            "type": "string"
          },
          "teamId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "nextFollowUpAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdByUserId": {
            "type": "string"
          },
          "version": {
            "type": "number"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "archivedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "entityType",
          "entityId",
          "activityType",
          "summary",
          "occurredAt",
          "assignedUserId",
          "status",
          "createdByUserId",
          "version",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      },
      "UserPartialExcluding_id-usernameNormalized-passwordHash-accountType-isProtected-status-roleIds-teamIds-permissionOverrides-delegationPolicy-sessionVersion-createdByUserId-createdAt-updatedAt-archivedAt-emailNormalized_": {
        "title": "UserPartialExcluding_id-usernameNormalized-passwordHash-accountType-isProtected-status-roleIds-teamIds-permissionOverrides-delegationPolicy-sessionVersion-createdByUserId-createdAt-updatedAt-archivedAt-emailNormalized_",
        "type": "object",
        "description": "(tsType: Omit<Partial<User>, 'id' | 'usernameNormalized' | 'passwordHash' | 'accountType' | 'isProtected' | 'status' | 'roleIds' | 'teamIds' | 'permissionOverrides' | 'delegationPolicy' | 'sessionVersion' | 'createdByUserId' | 'createdAt' | 'updatedAt' | 'archivedAt' | 'emailNormalized'>, schemaOptions: {\n  partial: true,\n  exclude: [\n    'id',                  'usernameNormalized',\n    'passwordHash',        'accountType',\n    'isProtected',         'status',\n    'roleIds',             'teamIds',\n    'permissionOverrides', 'delegationPolicy',\n    'sessionVersion',      'createdByUserId',\n    'createdAt',           'updatedAt',\n    'archivedAt',          'emailNormalized'\n  ]\n})",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "deviceAlertAcknowledgement": {
            "type": "object"
          },
          "lastSignInAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<User>, 'id' | 'usernameNormalized' | 'passwordHash' | 'accountType' | 'isProtected' | 'status' | 'roleIds' | 'teamIds' | 'permissionOverrides' | 'delegationPolicy' | 'sessionVersion' | 'createdByUserId' | 'createdAt' | 'updatedAt' | 'archivedAt' | 'emailNormalized'>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      }
    }
  }
}