{
  "openapi": "3.1.1",
  "info": {
    "title": "GBQ.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api-staging.gracequote.com.au/"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "GBQ.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/system/info": {
      "get": {
        "tags": [
          "GBQ.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/public/report-links/{token}": {
      "get": {
        "tags": [
          "Builder client sharing (public)"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/report-links/{token}/export.xlsx": {
      "get": {
        "tags": [
          "Builder client sharing (public)"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/organisation-logos/{imageId}": {
      "get": {
        "tags": [
          "Client branding (public)"
        ],
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-media/{id}/content": {
      "get": {
        "tags": [
          "Product Media"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/identity/me/context": {
      "get": {
        "tags": [
          "Identity"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/identity/me/organisation": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPreferredOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/identity/me/workspace": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectWorkspaceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/builder-engagement": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartBuilderEngagementRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-engagements/{engagementId}/invitations": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "engagementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteBuilderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-engagements/{engagementId}/share-rates": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "engagementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetShareItemRatesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-engagements/{engagementId}/responses": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "engagementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitBuilderResponseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-engagements/{engagementId}/comparison": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "engagementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-engagements/{engagementId}/feedback": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "engagementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-engagements/{engagementId}/select": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "engagementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectPreferredBuilderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/preferred-builder-selections/{selectionId}/notify": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/preferred-builder-selections/{selectionId}/withdraw": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawSelectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/preferred-builder-selections/{selectionId}/acknowledge": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/preferred-builder-selections/{selectionId}/decline": {
      "post": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeclineSelectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/builder-invitations": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/preferred-builder-selections": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/builder-leads": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-invitations/{invitationId}": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-invitations/{invitationId}/documents/{documentId}/download": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketplace-rules/builder-engagement": {
      "get": {
        "tags": [
          "BuilderEngagementEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builders": {
      "get": {
        "tags": [
          "Builder Profile"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/trade-invitations/{token}": {
      "get": {
        "tags": [
          "Trades (public)"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/defect-photo-analysis": {
      "post": {
        "tags": [
          "Defects (public)"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/defect-catalogue": {
      "get": {
        "tags": [
          "Defects (public)"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/billing/stripe-webhook": {
      "post": {
        "tags": [
          "Billing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/referrals/mine": {
      "get": {
        "tags": [
          "Referrals"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/referrals/claim": {
      "post": {
        "tags": [
          "Referrals"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReferralClaimRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/referrals/{code}": {
      "get": {
        "tags": [
          "Referrals"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/referrals/admin": {
      "get": {
        "tags": [
          "Referrals"
        ],
        "parameters": [
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-stages": {
      "get": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items/assign-stages": {
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "overwrite",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/pricing-rules/quote-markups": {
      "get": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/identity/register": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/identity/login": {
      "post": {
        "tags": [
          "Identity"
        ],
        "parameters": [
          {
            "name": "useCookies",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "useSessionCookies",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/identity/refresh": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/identity/confirmEmail": {
      "get": {
        "tags": [
          "Identity"
        ],
        "operationId": "MapIdentityApi-/api/v1/identity/confirmEmail",
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changedEmail",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/identity/resendConfirmationEmail": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendConfirmationEmailRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/identity/forgotPassword": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/identity/resetPassword": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/identity/manage/2fa": {
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TwoFactorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TwoFactorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/api/v1/identity/manage/info": {
      "get": {
        "tags": [
          "Identity"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      },
      "post": {
        "tags": [
          "Identity"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/api/v1/auth/register": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/resend-confirmation": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendConfirmationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/confirm-email": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmEmailRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/display-name": {
      "put": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDisplayNameRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/language": {
      "put": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLanguageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/change-email": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeEmailRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/confirm-email-change": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmEmailChangeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/plans": {
      "get": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "GetPublishedSubscriptionPlans",
        "parameters": [
          {
            "name": "audienceCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/subscriptions/organisations/{organisationId}/current": {
      "get": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "GetCurrentOrganisationSubscription",
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/subscriptions/organisations/{organisationId}/usage": {
      "get": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "GetOrganisationSubscriptionUsage",
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "entitlementCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/subscriptions/entitlements/check": {
      "post": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "CheckOrganisationEntitlement",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntitlementCheckRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/subscriptions/{subscriptionId}/upgrade": {
      "post": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "UpgradeOrganisationSubscription",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/subscriptions/{subscriptionId}/downgrade": {
      "post": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "ScheduleOrganisationSubscriptionDowngrade",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/subscriptions/{subscriptionId}/cancel": {
      "post": {
        "tags": [
          "SubscriptionEndpoints"
        ],
        "operationId": "ScheduleOrganisationSubscriptionCancellation",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSubscriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/plans": {
      "get": {
        "tags": [
          "Admin Plans"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/plans/organisations/{organisationId}": {
      "post": {
        "tags": [
          "Admin Plans"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignPlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects": {
      "post": {
        "tags": [
          "Projects"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "Projects"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/my-access": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/site": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetProjectSiteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetProjectSiteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/buildings": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddBuildingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/quotes": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/buildings/{buildingId}/storeys": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "buildingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddStoreyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/storeys/{storeyId}/rooms": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "storeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddRoomRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/buildings/{buildingId}": {
      "delete": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "buildingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/storeys/{storeyId}": {
      "delete": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "storeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/rooms/{roomId}": {
      "delete": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/versions": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuoteVersionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/versions/{versionNumber}/ready": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/versions/{versionNumber}/submit": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/versions/{versionId}/{versionNumber}/approve": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/progress": {
      "post": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProgressQuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/terms": {
      "put": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuoteTermsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/report-sections": {
      "put": {
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuoteReportSectionsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/invitations": {
      "get": {
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteToProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/invitations/{id}/resend": {
      "post": {
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/invitations/{id}/revoke": {
      "post": {
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/project-invitations/{token}": {
      "get": {
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/project-invitations/{token}/accept": {
      "post": {
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/participants": {
      "get": {
        "tags": [
          "Project Participants"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Project Participants"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddProjectParticipantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/participants/self": {
      "post": {
        "tags": [
          "Project Participants"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/participants/{id}/deactivate": {
      "post": {
        "tags": [
          "Project Participants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/participants/{id}/reactivate": {
      "post": {
        "tags": [
          "Project Participants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/participants/{id}/role": {
      "put": {
        "tags": [
          "Project Participants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeProjectParticipantRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/prepared-for": {
      "put": {
        "tags": [
          "Builder client sharing"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPreparedForRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/client-report": {
      "get": {
        "tags": [
          "Builder client sharing"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/report-link": {
      "get": {
        "tags": [
          "Builder client sharing"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Builder client sharing"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/CreateReportLinkRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Builder client sharing"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/versions/{versionNumber}/client-approval": {
      "post": {
        "tags": [
          "Builder client sharing"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/ClientApprovalRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/export.xlsx": {
      "get": {
        "tags": [
          "Quote export"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/client-branding": {
      "get": {
        "tags": [
          "Client branding"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Client branding"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientBrandingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/client-branding/logo": {
      "post": {
        "tags": [
          "Client branding"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Client branding"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/gem/calculate": {
      "post": {
        "tags": [
          "Projects - GEM"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CalculateProjectGemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/gem/runs": {
      "get": {
        "tags": [
          "Projects - GEM"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/gem/runs/{runId}": {
      "get": {
        "tags": [
          "Projects - GEM"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/gem-inputs": {
      "get": {
        "tags": [
          "Projects - GEM"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Projects - GEM"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveProjectGemInputsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/drawing-extractions": {
      "get": {
        "tags": [
          "Drawing Extractions"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/drawing-extractions/documents/{documentId}": {
      "post": {
        "tags": [
          "Drawing Extractions"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals": {
      "get": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadProjectSetupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals/{proposalId}": {
      "get": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals/{proposalId}/outcome": {
      "get": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals/{proposalId}/apply": {
      "post": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyProjectSetupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals/{proposalId}/discard": {
      "post": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals/{proposalId}/anchor": {
      "put": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnchorProjectSetupSheetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/setup-proposals/{proposalId}/sheets/{documentId}/{page}/image": {
      "get": {
        "tags": [
          "Project set-up from drawings"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proposalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "page",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/regulation-checks": {
      "get": {
        "tags": [
          "Site Regulation Checks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Site Regulation Checks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-materials/versions/{quoteVersionId}": {
      "get": {
        "tags": [
          "Quote Materials"
        ],
        "parameters": [
          {
            "name": "quoteVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-materials/versions/{quoteVersionId}/apply-defaults": {
      "post": {
        "tags": [
          "Quote Materials"
        ],
        "parameters": [
          {
            "name": "quoteVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyMaterialDefaultsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-materials/selections/{selectionId}/alternatives": {
      "get": {
        "tags": [
          "Quote Materials"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-materials/selections/{selectionId}/override": {
      "put": {
        "tags": [
          "Quote Materials"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OverrideMaterialSelectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-materials/selections/{selectionId}/restore-default": {
      "post": {
        "tags": [
          "Quote Materials"
        ],
        "parameters": [
          {
            "name": "selectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-quantities/versions/{quoteVersionId}": {
      "get": {
        "tags": [
          "Quote Quantities"
        ],
        "parameters": [
          {
            "name": "quoteVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-quantities/versions/{quoteVersionId}/items/{masterItemId}": {
      "put": {
        "tags": [
          "Quote Quantities"
        ],
        "parameters": [
          {
            "name": "quoteVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "masterItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetQuoteItemQuantityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Quote Quantities"
        ],
        "parameters": [
          {
            "name": "quoteVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "masterItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quotes/{quoteId}/price-from-gem": {
      "post": {
        "tags": [
          "Quote Pricing"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceQuoteFromGemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quotes/versions/{quoteVersionId}/pricing-lines": {
      "get": {
        "tags": [
          "Quote Pricing"
        ],
        "parameters": [
          {
            "name": "quoteVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/programme": {
      "get": {
        "tags": [
          "Quote programme"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Quote programme"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQuoteProgrammeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/programme/adjustments/{stageCode}": {
      "delete": {
        "tags": [
          "Quote programme"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "stageCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "versionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/categories": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMaterialCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/categories/{id}": {
      "put": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaterialCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/units": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUnitOfMeasureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/units/{id}": {
      "put": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUnitOfMeasureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "itemClass",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/MasterItemClass"
            }
          },
          {
            "name": "quantitySource",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/QuantitySource"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMasterItemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items/quantity-coverage": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items/{id}": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMasterItemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/category-price-rates": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "materialCategoryId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "masterItemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "priceRegionCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMaterialCategoryPriceRateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/category-price-rates/{id}/deactivate": {
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items/bulk-import": {
      "post": {
        "tags": [
          "Master Items"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/starter-packs/au": {
      "get": {
        "tags": [
          "Material Catalogue"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/starter-packs/au/construction-profiles": {
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/starter-packs/au/coverage-items": {
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/finishing-defaults/rebuild": {
      "post": {
        "tags": [
          "Material Catalogue"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/units/{unitOfMeasureId}/conversions": {
      "get": {
        "tags": [
          "Unit Conversions"
        ],
        "parameters": [
          {
            "name": "unitOfMeasureId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/unit-conversions": {
      "post": {
        "tags": [
          "Unit Conversions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUnitConversionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/unit-conversions/{id}/factor": {
      "put": {
        "tags": [
          "Unit Conversions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeUnitConversionFactorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/unit-conversions/{id}/active": {
      "post": {
        "tags": [
          "Unit Conversions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products": {
      "get": {
        "tags": [
          "Products"
        ],
        "parameters": [
          {
            "name": "masterItemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ProductStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Products"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products/{id}": {
      "get": {
        "tags": [
          "Products"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products/{id}/status": {
      "post": {
        "tags": [
          "Products"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeProductStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products/{id}/default-variant": {
      "post": {
        "tags": [
          "Products"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDefaultVariantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products/{productId}/variants": {
      "get": {
        "tags": [
          "Product Variants"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Product Variants"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductVariantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-variants/{id}": {
      "get": {
        "tags": [
          "Product Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Product Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductVariantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-variants/{id}/active": {
      "post": {
        "tags": [
          "Product Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-variants/{variantId}/specifications": {
      "get": {
        "tags": [
          "Product Specifications"
        ],
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Product Specifications"
        ],
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductSpecificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-specifications/{id}": {
      "put": {
        "tags": [
          "Product Specifications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductSpecificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products/{productId}/media": {
      "get": {
        "tags": [
          "Product Media"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Product Media"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductMediaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/products/{productId}/media/upload": {
      "post": {
        "tags": [
          "Product Media"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "file": {
                        "$ref": "#/components/schemas/IFormFile"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "mediaType": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "productVariantId": {
                        "type": "string",
                        "format": "uuid"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "displayOrder": {
                        "pattern": "^-?(?:0|[1-9]\\d*)$",
                        "type": [
                          "integer",
                          "string"
                        ],
                        "format": "int32"
                      }
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-media/{id}/active": {
      "post": {
        "tags": [
          "Product Media"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/characteristics": {
      "get": {
        "tags": [
          "Characteristics"
        ],
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Characteristics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCharacteristicDefinitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/characteristics/{id}": {
      "get": {
        "tags": [
          "Characteristics"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/characteristics/{id}/active": {
      "post": {
        "tags": [
          "Characteristics"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/characteristics/{characteristicDefinitionId}/options": {
      "get": {
        "tags": [
          "Characteristic Options"
        ],
        "parameters": [
          {
            "name": "characteristicDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Characteristic Options"
        ],
        "parameters": [
          {
            "name": "characteristicDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCharacteristicOptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/characteristic-options/{id}/active": {
      "post": {
        "tags": [
          "Characteristic Options"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items/{masterItemId}/characteristics": {
      "get": {
        "tags": [
          "Master Item Characteristics"
        ],
        "parameters": [
          {
            "name": "masterItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Master Item Characteristics"
        ],
        "parameters": [
          {
            "name": "masterItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignMasterItemCharacteristicRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-item-characteristics/{id}/applicability": {
      "put": {
        "tags": [
          "Master Item Characteristics"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeApplicabilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-item-characteristics/{id}/active": {
      "post": {
        "tags": [
          "Master Item Characteristics"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-items/{masterItemId}/room-assignments": {
      "get": {
        "tags": [
          "Master Item Room Assignments"
        ],
        "parameters": [
          {
            "name": "masterItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Master Item Room Assignments"
        ],
        "parameters": [
          {
            "name": "masterItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignMasterItemRoomRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/rooms/{roomReferenceTypeId}/master-item-assignments": {
      "get": {
        "tags": [
          "Master Item Room Assignments"
        ],
        "parameters": [
          {
            "name": "roomReferenceTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-item-room-assignments/{id}/display-order": {
      "put": {
        "tags": [
          "Master Item Room Assignments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeDisplayOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/master-item-room-assignments/{id}/active": {
      "post": {
        "tags": [
          "Master Item Room Assignments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-variants/{variantId}/quality-classification/active": {
      "get": {
        "tags": [
          "Product Quality Classification"
        ],
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/product-variants/{variantId}/quality-classification": {
      "post": {
        "tags": [
          "Product Quality Classification"
        ],
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClassifyProductQualityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers": {
      "get": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "supplierOrganisationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "marketCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Supplier Offers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSupplierOfferRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/allowance": {
      "get": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "supplierOrganisationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/{id}/commercial-terms": {
      "put": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSupplierOfferCommercialTermsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/{id}/shipping-terms": {
      "put": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSupplierOfferShippingTermsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/{id}/status": {
      "post": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeSupplierOfferStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/recommend": {
      "post": {
        "tags": [
          "Supplier Offers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecommendSupplierOffersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/bulk-import": {
      "post": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "supplierOrganisationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/export": {
      "get": {
        "tags": [
          "Supplier Offers"
        ],
        "parameters": [
          {
            "name": "supplierOrganisationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "marketCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/bulk-import": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "supplierOrganisationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pricesIncludeGst",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit": {
      "get": {
        "tags": [
          "Market Prices"
        ],
        "parameters": [
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/archive": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarketPriceAuditBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/accept": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarketPriceAuditBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/restore": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarketPriceAuditBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/convert": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarketPriceAuditConvertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/archive-internal": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/resolve-unit-mismatches": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/items-without-valid-price": {
      "get": {
        "tags": [
          "Market Prices"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/normalise-gst": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/normalise-gst/undo": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/offers": {
      "get": {
        "tags": [
          "Market Prices"
        ],
        "parameters": [
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/offers/accept": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierOfferAuditBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/market-prices/audit/offers/unaccept": {
      "post": {
        "tags": [
          "Market Prices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierOfferAuditBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/legacy-import/products": {
      "post": {
        "tags": [
          "Legacy import"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "activateLive",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/legacy-import/product-refresh": {
      "post": {
        "tags": [
          "Legacy import"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/legacy-import/photos": {
      "post": {
        "tags": [
          "Legacy import"
        ],
        "parameters": [
          {
            "name": "archiveStorageKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "manifest"
                ],
                "type": "object",
                "properties": {
                  "manifest": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/legacy-import/status": {
      "get": {
        "tags": [
          "Legacy import"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/supplier/products": {
      "get": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "days",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/supplier/priceable-products": {
      "get": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "all",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/supplier/products/{productId}": {
      "get": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSupplierProductRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/supplier/products/{productId}/media": {
      "post": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "file": {
                        "$ref": "#/components/schemas/IFormFile"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/supplier/products/{productId}/media/{mediaId}": {
      "delete": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/supplier/products/{productId}/media/{mediaId}/primary": {
      "post": {
        "tags": [
          "Supplier"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/supplier-products/reject": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectSupplierProductsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/supplier-products/restore": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreSupplierProductsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/withdraw-supplier": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/WithdrawSupplierRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/market-prices": {
      "get": {
        "tags": [
          "Supplier Market Prices"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Supplier Market Prices"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSupplierMarketPriceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/market-prices/import": {
      "post": {
        "tags": [
          "Supplier Market Prices"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pricesIncludeGst",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/supplier-offers/ai-sourced": {
      "post": {
        "tags": [
          "AI Sourced Offers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProposeAiSourcedOfferRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "AI Sourced Offers"
        ],
        "parameters": [
          {
            "name": "supplierOrganisationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/ai-sourcing/runs": {
      "post": {
        "tags": [
          "AI Sourcing Runs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunAiSourcingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "AI Sourcing Runs"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/ai-sourcing/schedules": {
      "get": {
        "tags": [
          "AI Sourcing Runs"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "AI Sourcing Runs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveAiSourcingScheduleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/materials/ai-sourcing/schedules/{scheduleId}": {
      "put": {
        "tags": [
          "AI Sourcing Runs"
        ],
        "parameters": [
          {
            "name": "scheduleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveAiSourcingScheduleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "AI Sourcing Runs"
        ],
        "parameters": [
          {
            "name": "scheduleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/geocoding/status": {
      "get": {
        "tags": [
          "Geocoding"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/geocoding/search": {
      "get": {
        "tags": [
          "Geocoding"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-readiness/quotes/{quoteId}/evaluate": {
      "post": {
        "tags": [
          "Builder Readiness"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/builder-readiness/projects/{projectId}/start-sourcing": {
      "post": {
        "tags": [
          "Builder Readiness"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-drafts/quotes/{quoteId}": {
      "post": {
        "tags": [
          "Quote Drafts"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveQuoteDraftRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-drafts/quotes/{quoteId}/latest": {
      "get": {
        "tags": [
          "Quote Drafts"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quote-drafts/quotes/{quoteId}/history": {
      "get": {
        "tags": [
          "Quote Drafts"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "take",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/quotes/{quoteId}/labour/estimate": {
      "post": {
        "tags": [
          "Quote Labour"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteLabourEstimateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/trades": {
      "get": {
        "tags": [
          "Labour and Installation"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Labour and Installation"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTradeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/rates": {
      "get": {
        "tags": [
          "Labour and Installation"
        ],
        "parameters": [
          {
            "name": "tradeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stateOrRegion",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Labour and Installation"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTradeRateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/activities": {
      "get": {
        "tags": [
          "Labour and Installation"
        ],
        "parameters": [
          {
            "name": "masterItemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tradeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Labour and Installation"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInstallationActivityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/calculate": {
      "post": {
        "tags": [
          "Labour and Installation"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabourCalculationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/starter-packs/au": {
      "get": {
        "tags": [
          "Labour and Installation"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Labour and Installation"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/trades/{id}": {
      "put": {
        "tags": [
          "Labour and Installation"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTradeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/rates/{id}": {
      "put": {
        "tags": [
          "Labour and Installation"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTradeRateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/labour/activities/{id}": {
      "put": {
        "tags": [
          "Labour and Installation"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateInstallationActivityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/security/audit-events": {
      "get": {
        "tags": [
          "Security"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations": {
      "post": {
        "tags": [
          "Organisations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "Organisations"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/members/lookup": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/members": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOrganisationMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/members/{membershipId}/suspend": {
      "post": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "membershipId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/members/{membershipId}/reactivate": {
      "post": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "membershipId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/members/{userId}/role": {
      "put": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeMemberRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/contact": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganisationContactDetails"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/name": {
      "put": {
        "tags": [
          "Organisations"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/roles": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/roles/{roleId}/permissions": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantPermissionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/roles/{roleId}/permissions/{permissionCode}": {
      "delete": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "permissionCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/permissions": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/role-assignments": {
      "post": {
        "tags": [
          "Admin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoleAssignmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/role-assignments/{id}/revoke": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/role-assignments/{id}/reactivate": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations": {
      "get": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/OrganisationType"
            }
          },
          {
            "name": "verificationStatus",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/OrganisationVerificationStatus"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}": {
      "put": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/contact": {
      "put": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganisationContactDetails"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/country": {
      "put": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganisationCountryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/type": {
      "put": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganisationTypeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/verify": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/VerifyOrganisationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/reject": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/return-to-pending": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/ReturnToPendingOrganisationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/suspend": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SuspendOrganisationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/reactivate": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SuspendOrganisationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/do-not-contact": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/allow-contact": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/test": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrganisationTestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/trade-licence-checked": {
      "put": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetTradeLicenceCheckedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations": {
      "get": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Admin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInvitedOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/{organisationId}/invitations": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteToOrganisationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations/{invitationId}/resend": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations/{invitationId}/change-email": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeInvitationEmailRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations/{invitationId}/revoke": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations/reminders": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations/reminders/pause": {
      "post": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/invitations/reminders/resume": {
      "post": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/organisations/bulk-import": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sendInvitations",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/invitations/{token}": {
      "get": {
        "tags": [
          "Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/invitations/{token}/accept": {
      "post": {
        "tags": [
          "Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/invitations/mine": {
      "get": {
        "tags": [
          "Invitations"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/invitations/mine/{invitationId}/accept": {
      "post": {
        "tags": [
          "Invitations"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/AcceptMyInvitationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/contact-preferences/{token}": {
      "get": {
        "tags": [
          "Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/contact-preferences/{token}/unsubscribe": {
      "post": {
        "tags": [
          "Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/contact-preferences/{token}/resubscribe": {
      "post": {
        "tags": [
          "Invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets": {
      "post": {
        "tags": [
          "Support"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSupportTicketRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "Support"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/all": {
      "get": {
        "tags": [
          "Support"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/messages": {
      "post": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddSupportTicketMessageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/priority": {
      "put": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSupportTicketPriorityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/start-progress": {
      "post": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/resolve": {
      "post": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveSupportTicketRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/close": {
      "post": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/attachments": {
      "post": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/tickets/{id}/attachments/{attachmentId}/content": {
      "get": {
        "tags": [
          "Support"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/builder-profile": {
      "get": {
        "tags": [
          "Builder Profile"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Builder Profile"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetBuilderProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/organisations/{organisationId}/builder-profile/details": {
      "put": {
        "tags": [
          "Builder Profile"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetBuilderProfileDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/categories": {
      "get": {
        "tags": [
          "Trades"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/profile": {
      "get": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Trades"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTradeProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/directory": {
      "get": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/packages": {
      "get": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/packages/{invitationId}": {
      "get": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/packages/{invitationId}/documents/{documentId}": {
      "get": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/packages/{invitationId}/responses": {
      "post": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TradeRespondRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/trades/packages/{invitationId}/decline": {
      "post": {
        "tags": [
          "Trades"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/DeclineTradePackageRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/preview": {
      "get": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "builderOrganisationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages": {
      "post": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTradePackagesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "builderOrganisationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/{packageId}": {
      "get": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/{packageId}/send": {
      "post": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendTradePackageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/{packageId}/remind": {
      "post": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/{packageId}/cancel": {
      "post": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/{packageId}/comparison": {
      "get": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/quotes/{quoteId}/trade-packages/{packageId}/accept": {
      "post": {
        "tags": [
          "Trade packages"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptTradeResponseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/preferences": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/preferences/{channel}": {
      "put": {
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "name": "channel",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/NotificationTemplateChannel"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetNotificationPreferenceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "name": "unreadOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/unread-count": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/{id}/read": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/read-all": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/{id}/archive": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/{id}/unarchive": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notifications/archive-read": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/legal/documents": {
      "get": {
        "tags": [
          "Legal"
        ],
        "parameters": [
          {
            "name": "market",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/legal/documents/{market}/{slug}": {
      "get": {
        "tags": [
          "Legal"
        ],
        "parameters": [
          {
            "name": "market",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/legal/acceptances/me": {
      "get": {
        "tags": [
          "Legal"
        ],
        "parameters": [
          {
            "name": "market",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/legal/acceptances": {
      "post": {
        "tags": [
          "Legal"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptLegalDocumentsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/site-content": {
      "get": {
        "tags": [
          "Site content (public)"
        ],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/site-content/chrome": {
      "get": {
        "tags": [
          "Site content (public)"
        ],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/site-content/images/{id}": {
      "get": {
        "tags": [
          "Site content (public)"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/site-content/{slug}": {
      "get": {
        "tags": [
          "Site content (public)"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages": {
      "get": {
        "tags": [
          "Site content"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}": {
      "get": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/draft": {
      "put": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveSitePageDraftRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/publish": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/PublishSitePageRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/discard-draft": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/unpublish": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/versions/{versionNumber}": {
      "get": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "versionNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/versions/{versionNumber}/restore": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "versionNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/pages/{slug}/restore-bundled": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/images": {
      "get": {
        "tags": [
          "Site content"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Site content"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "file": {
                        "$ref": "#/components/schemas/IFormFile"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "alt": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/chrome": {
      "get": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/chrome/draft": {
      "put": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JsonElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/chrome/publish": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/chrome/discard-draft": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/site-content/{slug}/restore-bundled": {
      "post": {
        "tags": [
          "Site content"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/assistant/status": {
      "get": {
        "tags": [
          "Assistant (public)"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/assistant/ask": {
      "post": {
        "tags": [
          "Assistant (public)"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/AskAssistantRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/assistant/exchanges/{id}/vote": {
      "post": {
        "tags": [
          "Assistant (public)"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/VoteAssistantRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/support/assistant/exchanges": {
      "get": {
        "tags": [
          "Assistant (staff)"
        ],
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/status": {
      "get": {
        "tags": [
          "Billing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/checkout": {
      "post": {
        "tags": [
          "Billing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartCheckoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/portal": {
      "post": {
        "tags": [
          "Billing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenPortalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/admin/sync-prices": {
      "post": {
        "tags": [
          "Billing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/mobile/auth/code": {
      "post": {
        "tags": [
          "Mobile"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/mobile/auth/token": {
      "post": {
        "tags": [
          "Mobile"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/mobile/entitlements": {
      "get": {
        "tags": [
          "Mobile"
        ],
        "parameters": [
          {
            "name": "organisationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/mobile/reports/usage": {
      "post": {
        "tags": [
          "Mobile"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileReportUsageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/admin/overview": {
      "get": {
        "tags": [
          "Billing"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/admin/checkout": {
      "post": {
        "tags": [
          "Billing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartCheckoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/admin/events": {
      "get": {
        "tags": [
          "Billing"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/billing/admin/events/export.xlsx": {
      "get": {
        "tags": [
          "Billing"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/marketing/consent": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/marketing/subscribe": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscribeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/marketing/confirm/{token}": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/marketing/unsubscribe/{token}": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/marketing/l/{campaignId}/{linkIndex}": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "linkIndex",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/marketing/ses-events": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/marketing-consent": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Marketing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetConsentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Marketing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveCampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns/{id}": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveCampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns/{id}/preview": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns/{id}/test": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns/{id}/send": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SendCampaignRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns/{id}/pause": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/campaigns/{id}/resume": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/audience-count": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "groups",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/subscribers": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/subscribers/export.csv": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/subscribers/{id}": {
      "delete": {
        "tags": [
          "Marketing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/marketing/blocks": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/leads": {
      "post": {
        "tags": [
          "Leads"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SubmitSiteLeadRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/public/leads/ballpark/{token}": {
      "get": {
        "tags": [
          "Leads"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/leads": {
      "get": {
        "tags": [
          "Leads"
        ],
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/leads/{id}/status": {
      "put": {
        "tags": [
          "Leads"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateSiteLeadStatusRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/website-contacts": {
      "get": {
        "tags": [
          "Website contacts"
        ],
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/website-contacts/export.xlsx": {
      "get": {
        "tags": [
          "Website contacts"
        ],
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems": {
      "get": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConstructionSystemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems/published": {
      "get": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitConstructionSystemForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishConstructionSystemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/construction-systems/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Construction Systems"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/reference-types": {
      "get": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ReferenceTypeCategory"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReferenceTypeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/reference-types/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/reference-types/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitReferenceTypeForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/reference-types/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/reference-types/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishReferenceTypeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/reference-types/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Reference Types"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/countries": {
      "get": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCountryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/countries/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/countries/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitCountryForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/countries/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/countries/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishCountryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/countries/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Countries"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/currencies": {
      "get": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCurrencyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/currencies/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/currencies/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitCurrencyForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/currencies/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/currencies/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishCurrencyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/currencies/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Currencies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/regions": {
      "get": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRegionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/regions/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/regions/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitRegionForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/regions/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/regions/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishRegionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/regions/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/languages": {
      "get": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLanguageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/languages/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/languages/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitLanguageForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/languages/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/languages/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishLanguageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/languages/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Languages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/taxes": {
      "get": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTaxRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/taxes/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/taxes/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitTaxForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/taxes/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/taxes/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishTaxRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/taxes/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Taxes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/price-regions": {
      "get": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePriceRegionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/price-regions/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/price-regions/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitPriceRegionForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/price-regions/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/price-regions/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishPriceRegionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/price-regions/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Price Regions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/notification-templates": {
      "get": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNotificationTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/notification-templates/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/notification-templates/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitNotificationTemplateForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/notification-templates/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/notification-templates/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishNotificationTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/notification-templates/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Notification Templates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas": {
      "get": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "family",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/GemFormulaFamily"
            }
          },
          {
            "name": "ruleId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGemFormulaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGemFormulaDraftRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitGemFormulaForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishGemFormulaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-formulas/calculate": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Formulas"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CalculateGemFormulasRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-coefficients": {
      "get": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGemCoefficientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-coefficients/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGemCoefficientDraftRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-coefficients/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitGemCoefficientForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-coefficients/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-coefficients/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishGemCoefficientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/gem-coefficients/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - GEM Coefficients"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quote-wizard-steps": {
      "get": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuoteWizardStepRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quote-wizard-steps/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quote-wizard-steps/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitQuoteWizardStepForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quote-wizard-steps/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quote-wizard-steps/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishQuoteWizardStepRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quote-wizard-steps/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Quote Wizard Steps"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quality-packages": {
      "get": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "qualityLevel",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FinishingQualityLevel"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQualityPackageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quality-packages/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quality-packages/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitQualityPackageForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quality-packages/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quality-packages/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishQualityPackageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/quality-packages/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Quality Packages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/marketplace-rules": {
      "get": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMarketplaceRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/marketplace-rules/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/marketplace-rules/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitMarketplaceRuleForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/marketplace-rules/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/marketplace-rules/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishMarketplaceRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/marketplace-rules/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Marketplace Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/pricing-rules": {
      "get": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePricingRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/pricing-rules/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/pricing-rules/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitPricingRuleForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/pricing-rules/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/pricing-rules/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishPricingRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/pricing-rules/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Pricing Rules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations/published": {
      "get": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations": {
      "get": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "stageCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ConfigurationRecordStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStageDurationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations/{id}": {
      "get": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStageDurationDraftRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations/{id}/submit-for-review": {
      "post": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitStageDurationForReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations/{id}/approve": {
      "post": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations/{id}/publish": {
      "post": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishStageDurationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/stage-durations/{id}/retire": {
      "post": {
        "tags": [
          "Configuration Centre - Stage Durations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/transfer/export": {
      "get": {
        "tags": [
          "Configuration Centre - Transfer"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/configuration/transfer/import": {
      "post": {
        "tags": [
          "Configuration Centre - Transfer"
        ],
        "parameters": [
          {
            "name": "dryRun",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/documents": {
      "get": {
        "tags": [
          "Project Documents"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Project Documents"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "file": {
                        "$ref": "#/components/schemas/IFormFile"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "sharedWithBuilders": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/documents/{documentId}/download": {
      "get": {
        "tags": [
          "Project Documents"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/documents/{documentId}/sharing": {
      "post": {
        "tags": [
          "Project Documents"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDocumentSharingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/projects/{projectId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "Project Documents"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/tenant/context": {
      "get": {
        "tags": [
          "GBQ.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantContextResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AcceptLegalDocumentsRequest": {
        "required": [
          "market",
          "slugs"
        ],
        "type": "object",
        "properties": {
          "market": {
            "type": [
              "null",
              "string"
            ]
          },
          "slugs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AcceptMyInvitationRequest": {
        "required": [
          "acceptMarketplaceAgreement"
        ],
        "type": "object",
        "properties": {
          "acceptMarketplaceAgreement": {
            "type": "boolean"
          },
          "market": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AcceptTradeResponseRequest": {
        "required": [
          "responseId"
        ],
        "type": "object",
        "properties": {
          "responseId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "AccessTokenResponse": {
        "required": [
          "accessToken",
          "expiresIn",
          "refreshToken"
        ],
        "type": "object",
        "properties": {
          "tokenType": {
            "type": [
              "null",
              "string"
            ]
          },
          "accessToken": {
            "type": "string"
          },
          "expiresIn": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "refreshToken": {
            "type": "string"
          }
        }
      },
      "AddBuildingRequest": {
        "required": [
          "name",
          "sequence",
          "grossFloorAreaM2"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "sequence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "grossFloorAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "referenceTypeId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "AddOrganisationMemberRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "role": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AddProjectParticipantRequest": {
        "required": [
          "organisationId",
          "userId",
          "role"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "role": {
            "$ref": "#/components/schemas/ParticipantRole"
          }
        }
      },
      "AddRoomRequest": {
        "required": [
          "code",
          "name",
          "quantity",
          "areaM2",
          "perimeterM",
          "ceilingHeightM"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "areaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "perimeterM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "ceilingHeightM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "referenceTypeId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "AddStoreyRequest": {
        "required": [
          "name",
          "levelNumber",
          "floorAreaM2"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "levelNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "floorAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "referenceTypeId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "AddSupportTicketMessageRequest": {
        "required": [
          "body"
        ],
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          }
        }
      },
      "AnchorProjectSetupSheetRequest": {
        "required": [
          "documentId",
          "page",
          "widthMm"
        ],
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "format": "uuid"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "widthMm": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ApplyMaterialDefaultsRequest": {
        "required": [
          "qualityLevel",
          "countryCode"
        ],
        "type": "object",
        "properties": {
          "qualityLevel": {
            "$ref": "#/components/schemas/FinishingQualityLevel"
          },
          "countryCode": {
            "type": "string"
          }
        }
      },
      "ApplyProjectSetupRequest": {
        "required": [
          "proposal"
        ],
        "type": "object",
        "properties": {
          "proposal": {
            "$ref": "#/components/schemas/SetupProposal"
          },
          "overrides": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetupApplyOverrides"
              }
            ]
          },
          "replaceExisting": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "AskAssistantRequest": {
        "required": [
          "sessionId",
          "question"
        ],
        "type": "object",
        "properties": {
          "sessionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "question": {
            "type": [
              "null",
              "string"
            ]
          },
          "market": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AssignMasterItemCharacteristicRequest": {
        "required": [
          "characteristicDefinitionId",
          "applicability",
          "unitOfMeasureId",
          "displayOrder",
          "affectsQuantity",
          "affectsMaterialCost",
          "affectsInstallationCost",
          "affectsWaste",
          "affectsProductivity"
        ],
        "type": "object",
        "properties": {
          "characteristicDefinitionId": {
            "type": "string",
            "format": "uuid"
          },
          "applicability": {
            "$ref": "#/components/schemas/CharacteristicApplicability"
          },
          "unitOfMeasureId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "affectsQuantity": {
            "type": "boolean"
          },
          "affectsMaterialCost": {
            "type": "boolean"
          },
          "affectsInstallationCost": {
            "type": "boolean"
          },
          "affectsWaste": {
            "type": "boolean"
          },
          "affectsProductivity": {
            "type": "boolean"
          }
        }
      },
      "AssignMasterItemRoomRequest": {
        "required": [
          "roomReferenceTypeId"
        ],
        "type": "object",
        "properties": {
          "roomReferenceTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32",
            "default": 0
          }
        }
      },
      "AssignPlanRequest": {
        "required": [
          "planCode"
        ],
        "type": "object",
        "properties": {
          "planCode": {
            "type": "string"
          }
        }
      },
      "BuilderResponseType": {
        "type": "integer"
      },
      "CalculateGemFormulasRequest": {
        "required": [
          "variables"
        ],
        "type": "object",
        "properties": {
          "variables": {
            "type": "object"
          },
          "includeUnpublished": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "CalculateProjectGemRequest": {
        "required": [
          "variables"
        ],
        "type": "object",
        "properties": {
          "variables": {
            "type": [
              "null",
              "object"
            ]
          }
        }
      },
      "CampaignAudienceRequest": {
        "required": [
          "groups",
          "state"
        ],
        "type": "object",
        "properties": {
          "groups": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CancelSubscriptionRequest": {
        "required": [
          "requestedByUserId",
          "reason"
        ],
        "type": "object",
        "properties": {
          "requestedByUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "ChangeApplicabilityRequest": {
        "required": [
          "applicability"
        ],
        "type": "object",
        "properties": {
          "applicability": {
            "$ref": "#/components/schemas/CharacteristicApplicability"
          }
        }
      },
      "ChangeDisplayOrderRequest": {
        "required": [
          "displayOrder"
        ],
        "type": "object",
        "properties": {
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ChangeEmailRequest": {
        "required": [
          "newEmail"
        ],
        "type": "object",
        "properties": {
          "newEmail": {
            "type": "string"
          }
        }
      },
      "ChangeInvitationEmailRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "ChangeMemberRoleRequest": {
        "required": [
          "role"
        ],
        "type": "object",
        "properties": {
          "role": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ChangePlanRequest": {
        "required": [
          "targetPlanRevisionId",
          "requestedByUserId",
          "reason"
        ],
        "type": "object",
        "properties": {
          "targetPlanRevisionId": {
            "type": "string",
            "format": "uuid"
          },
          "requestedByUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "ChangeProductStatusRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ProductStatus"
          }
        }
      },
      "ChangeProjectParticipantRoleRequest": {
        "required": [
          "role"
        ],
        "type": "object",
        "properties": {
          "role": {
            "$ref": "#/components/schemas/ParticipantRole"
          }
        }
      },
      "ChangeSupplierOfferStatusRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/SupplierOfferStatus"
          }
        }
      },
      "ChangeUnitConversionFactorRequest": {
        "required": [
          "factor"
        ],
        "type": "object",
        "properties": {
          "factor": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CharacteristicApplicability": {
        "type": "integer"
      },
      "CharacteristicValueType": {
        "type": "integer"
      },
      "ClassifyProductQualityRequest": {
        "required": [
          "unitPrice",
          "currencyCode",
          "marketCode",
          "priceBands",
          "persistAssignment",
          "markPreferred"
        ],
        "type": "object",
        "properties": {
          "unitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "currencyCode": {
            "type": "string"
          },
          "marketCode": {
            "type": "string"
          },
          "priceBands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductQualityPriceBand"
            }
          },
          "persistAssignment": {
            "type": "boolean"
          },
          "markPreferred": {
            "type": "boolean"
          }
        }
      },
      "ClientApprovalRequest": {
        "required": [
          "note"
        ],
        "type": "object",
        "properties": {
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ClientBrandingRequest": {
        "required": [
          "tradingName",
          "licenceNumber",
          "abn",
          "phone",
          "email",
          "addressLine",
          "suburb",
          "stateOrRegion",
          "postcode"
        ],
        "type": "object",
        "properties": {
          "tradingName": {
            "type": [
              "null",
              "string"
            ]
          },
          "licenceNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "abn": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "addressLine": {
            "type": [
              "null",
              "string"
            ]
          },
          "suburb": {
            "type": [
              "null",
              "string"
            ]
          },
          "stateOrRegion": {
            "type": [
              "null",
              "string"
            ]
          },
          "postcode": {
            "type": [
              "null",
              "string"
            ]
          },
          "commercialRecordNumber": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ConfigurationRecordStatus": {
        "type": "integer"
      },
      "ConfirmEmailChangeRequest": {
        "required": [
          "change"
        ],
        "type": "object",
        "properties": {
          "change": {
            "type": "string"
          }
        }
      },
      "ConfirmEmailRequest": {
        "required": [
          "userId",
          "code"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          }
        }
      },
      "CreateCharacteristicDefinitionRequest": {
        "required": [
          "code",
          "name",
          "valueType",
          "defaultUnitOfMeasureId",
          "description",
          "isSearchable",
          "isComparable",
          "canBeGemInput",
          "canBeGemOutput"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "valueType": {
            "$ref": "#/components/schemas/CharacteristicValueType"
          },
          "defaultUnitOfMeasureId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "isSearchable": {
            "type": "boolean"
          },
          "isComparable": {
            "type": "boolean"
          },
          "canBeGemInput": {
            "type": "boolean"
          },
          "canBeGemOutput": {
            "type": "boolean"
          }
        }
      },
      "CreateCharacteristicOptionRequest": {
        "required": [
          "code",
          "label",
          "displayOrder"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CreateConstructionSystemRequest": {
        "required": [
          "code",
          "name",
          "description",
          "countryCode",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateCountryRequest": {
        "required": [
          "code",
          "name",
          "defaultCurrencyCode",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "defaultCurrencyCode": {
            "type": "string"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateCurrencyRequest": {
        "required": [
          "code",
          "name",
          "symbol",
          "decimalPlaces",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "decimalPlaces": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateGemCoefficientRequest": {
        "required": [
          "code",
          "name",
          "activeValue",
          "lowValue",
          "highValue",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "activeValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "lowValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateGemFormulaRequest": {
        "required": [
          "ruleId",
          "family",
          "name",
          "formulaExpression",
          "confidence",
          "reviewNote",
          "targetMasterItemId",
          "dependsOnRuleIds",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "ruleId": {
            "type": "string"
          },
          "family": {
            "$ref": "#/components/schemas/GemFormulaFamily"
          },
          "name": {
            "type": "string"
          },
          "formulaExpression": {
            "type": "string"
          },
          "confidence": {
            "$ref": "#/components/schemas/GemFormulaConfidence"
          },
          "reviewNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "targetMasterItemId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dependsOnRuleIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateInstallationActivityRequest": {
        "required": [
          "code",
          "name",
          "tradeId",
          "masterItemId",
          "unitCode",
          "labourHoursPerUnit",
          "minimumLabourHours"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tradeId": {
            "type": "string",
            "format": "uuid"
          },
          "masterItemId": {
            "type": "string",
            "format": "uuid"
          },
          "unitCode": {
            "type": "string"
          },
          "labourHoursPerUnit": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "minimumLabourHours": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreateInvitedOrganisationRequest": {
        "required": [
          "name",
          "type",
          "countryCode",
          "email",
          "message"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/OrganisationType"
          },
          "countryCode": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "legacyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "sendEmail": {
            "type": "boolean",
            "default": true
          },
          "contact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OrganisationContactDetails"
              }
            ]
          }
        }
      },
      "CreateLanguageRequest": {
        "required": [
          "code",
          "name",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateMarketplaceRuleRequest": {
        "required": [
          "code",
          "name",
          "responseWindowDays",
          "maxRoundsPerQuote",
          "reviseAndResendCooldownDays",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "responseWindowDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxRoundsPerQuote": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "reviseAndResendCooldownDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateMasterItemRequest": {
        "required": [
          "legacyId",
          "code",
          "name",
          "itemClass",
          "quantitySource",
          "optionCount",
          "supportsDefaults",
          "supportsFormula",
          "categoryId",
          "unitOfMeasureId"
        ],
        "type": "object",
        "properties": {
          "legacyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "itemClass": {
            "$ref": "#/components/schemas/MasterItemClass"
          },
          "quantitySource": {
            "$ref": "#/components/schemas/QuantitySource"
          },
          "optionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "supportsDefaults": {
            "type": "boolean"
          },
          "supportsFormula": {
            "type": "boolean"
          },
          "categoryId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "unitOfMeasureId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "gemRole": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MasterItemGemRole"
              }
            ]
          }
        }
      },
      "CreateMaterialCategoryPriceRateRequest": {
        "required": [
          "materialCategoryId",
          "priceRegionCode",
          "currencyCode",
          "unitRate",
          "effectiveFrom",
          "effectiveTo",
          "source"
        ],
        "type": "object",
        "properties": {
          "materialCategoryId": {
            "type": "string",
            "format": "uuid"
          },
          "priceRegionCode": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "unitRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          },
          "effectiveTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "source": {
            "type": [
              "null",
              "string"
            ]
          },
          "masterItemId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateMaterialCategoryRequest": {
        "required": [
          "code",
          "name",
          "displayOrder"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CreateNotificationTemplateRequest": {
        "required": [
          "code",
          "channel",
          "locale",
          "subject",
          "body",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "channel": {
            "$ref": "#/components/schemas/NotificationTemplateChannel"
          },
          "locale": {
            "type": "string"
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "body": {
            "type": "string"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateOrganisationRequest": {
        "required": [
          "tenantCode",
          "code",
          "name",
          "type",
          "countryCode"
        ],
        "type": "object",
        "properties": {
          "tenantCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/OrganisationType"
          },
          "countryCode": {
            "type": "string"
          }
        }
      },
      "CreatePriceRegionRequest": {
        "required": [
          "code",
          "name",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreatePricingRuleRequest": {
        "required": [
          "code",
          "name",
          "builderMarginPercentage",
          "preliminariesPercentage",
          "contingencyPercentage",
          "minimumBuilderMarginPercentage",
          "maximumBuilderMarginPercentage",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "builderMarginPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "preliminariesPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "contingencyPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "minimumBuilderMarginPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maximumBuilderMarginPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateProductMediaRequest": {
        "required": [
          "mediaType",
          "title",
          "uri",
          "productVariantId",
          "displayOrder"
        ],
        "type": "object",
        "properties": {
          "mediaType": {
            "$ref": "#/components/schemas/ProductMediaType"
          },
          "title": {
            "type": "string"
          },
          "uri": {
            "type": "string"
          },
          "productVariantId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CreateProductRequest": {
        "required": [
          "masterItemId",
          "code",
          "name",
          "manufacturer",
          "brand",
          "series",
          "description",
          "countryOfOriginCode",
          "barcode"
        ],
        "type": "object",
        "properties": {
          "masterItemId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "manufacturer": {
            "type": [
              "null",
              "string"
            ]
          },
          "brand": {
            "type": [
              "null",
              "string"
            ]
          },
          "series": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryOfOriginCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "barcode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateProductSpecificationRequest": {
        "required": [
          "code",
          "name",
          "value",
          "unit",
          "standardReference",
          "displayOrder"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "unit": {
            "type": [
              "null",
              "string"
            ]
          },
          "standardReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CreateProductVariantRequest": {
        "required": [
          "unitOfMeasureId",
          "code",
          "name",
          "sku",
          "barcode",
          "colour",
          "finish",
          "sizeDescription",
          "packQuantity",
          "coveragePerPack",
          "weightPerPackKg"
        ],
        "type": "object",
        "properties": {
          "unitOfMeasureId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sku": {
            "type": [
              "null",
              "string"
            ]
          },
          "barcode": {
            "type": [
              "null",
              "string"
            ]
          },
          "colour": {
            "type": [
              "null",
              "string"
            ]
          },
          "finish": {
            "type": [
              "null",
              "string"
            ]
          },
          "sizeDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "packQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "coveragePerPack": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "weightPerPackKg": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreateProjectRequest": {
        "required": [
          "organisationId",
          "code",
          "name"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": "string"
          },
          "countryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateQualityPackageRequest": {
        "required": [
          "countryCode",
          "qualityLevel",
          "name",
          "description",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "qualityLevel": {
            "$ref": "#/components/schemas/FinishingQualityLevel"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateQuoteRequest": {
        "required": [
          "pathway"
        ],
        "type": "object",
        "properties": {
          "pathway": {
            "$ref": "#/components/schemas/QuotePathway"
          }
        }
      },
      "CreateQuoteVersionRequest": {
        "required": [
          "currencyCode",
          "subtotal",
          "taxAmount",
          "totalAmount",
          "snapshotJson"
        ],
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string"
          },
          "subtotal": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "taxAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "snapshotJson": {
            "type": "string"
          }
        }
      },
      "CreateQuoteWizardStepRequest": {
        "required": [
          "code",
          "stepNumber",
          "name",
          "description",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "stepNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateReferenceTypeRequest": {
        "required": [
          "category",
          "code",
          "name",
          "description",
          "countryCode",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/ReferenceTypeCategory"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateRegionRequest": {
        "required": [
          "countryCode",
          "code",
          "name",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateReportLinkRequest": {
        "required": [
          "versionNumber"
        ],
        "type": "object",
        "properties": {
          "versionNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CreateRoleAssignmentRequest": {
        "required": [
          "userId",
          "roleCode"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "roleCode": {
            "type": "string"
          }
        }
      },
      "CreateRoleRequest": {
        "required": [
          "code",
          "name"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "CreateStageDurationRequest": {
        "required": [
          "stageCode",
          "baseWorkingDays",
          "daysPer100M2Livable",
          "overlapWithPreviousPercent",
          "notes",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "stageCode": {
            "type": "string"
          },
          "baseWorkingDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "daysPer100M2Livable": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "overlapWithPreviousPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateSupplierOfferRequest": {
        "required": [
          "supplierOrganisationId",
          "productVariantId",
          "code",
          "marketCode",
          "currencyCode",
          "unitPrice",
          "listPrice",
          "minimumOrderQuantity",
          "stockStatus",
          "availableQuantity",
          "leadTimeDays",
          "validFrom",
          "validTo",
          "isPreferred",
          "supplierProductCode",
          "deliveryTerms",
          "notes"
        ],
        "type": "object",
        "properties": {
          "supplierOrganisationId": {
            "type": "string",
            "format": "uuid"
          },
          "productVariantId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "marketCode": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "unitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "listPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "minimumOrderQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "stockStatus": {
            "$ref": "#/components/schemas/SupplierStockStatus"
          },
          "availableQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "leadTimeDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "validFrom": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "validTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "isPreferred": {
            "type": "boolean"
          },
          "supplierProductCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "deliveryTerms": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "incoterm": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SupplierOfferIncoterm"
              }
            ]
          },
          "deliveryPlace": {
            "type": [
              "null",
              "string"
            ]
          },
          "unit": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateSupportTicketRequest": {
        "required": [
          "priority",
          "subject",
          "description",
          "projectId"
        ],
        "type": "object",
        "properties": {
          "priority": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SupportPriority"
              }
            ]
          },
          "subject": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "projectId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "category": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SupportCategory"
              }
            ]
          },
          "organisationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateTaxRequest": {
        "required": [
          "countryCode",
          "code",
          "name",
          "ratePercentage",
          "previousVersionId"
        ],
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "ratePercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "previousVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateTradePackageItem": {
        "required": [
          "tradeCategoryCode"
        ],
        "type": "object",
        "properties": {
          "tradeCategoryCode": {
            "type": "string"
          },
          "basis": {
            "type": [
              "null",
              "string"
            ]
          },
          "responseDeadline": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "startWindowFrom": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "startWindowTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "sharedDocumentIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateTradePackagesRequest": {
        "required": [
          "packages"
        ],
        "type": "object",
        "properties": {
          "packages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateTradePackageItem"
            }
          },
          "quoteVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "builderOrganisationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateTradeRateRequest": {
        "required": [
          "tradeId",
          "countryCode",
          "stateOrRegion",
          "locality",
          "currencyCode",
          "hourlyRate",
          "effectiveFrom",
          "effectiveTo",
          "source"
        ],
        "type": "object",
        "properties": {
          "tradeId": {
            "type": "string",
            "format": "uuid"
          },
          "countryCode": {
            "type": "string"
          },
          "stateOrRegion": {
            "type": "string"
          },
          "locality": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyCode": {
            "type": "string"
          },
          "hourlyRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          },
          "effectiveTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "source": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateTradeRequest": {
        "required": [
          "code",
          "name"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "CreateUnitConversionRequest": {
        "required": [
          "fromUnitOfMeasureId",
          "toUnitOfMeasureId",
          "factor"
        ],
        "type": "object",
        "properties": {
          "fromUnitOfMeasureId": {
            "type": "string",
            "format": "uuid"
          },
          "toUnitOfMeasureId": {
            "type": "string",
            "format": "uuid"
          },
          "factor": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreateUnitOfMeasureRequest": {
        "required": [
          "code",
          "name",
          "symbol"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          }
        }
      },
      "DeclineSelectionRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          }
        }
      },
      "DeclineTradePackageRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "EntitlementCheckRequest": {
        "required": [
          "organisationId",
          "entitlementCode",
          "requestedQuantity",
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          },
          "entitlementCode": {
            "type": "string"
          },
          "requestedQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "referenceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "FinishingQualityLevel": {
        "type": "integer"
      },
      "ForgotPasswordRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "GemFormulaConfidence": {
        "type": "integer"
      },
      "GemFormulaFamily": {
        "type": "integer"
      },
      "GrantPermissionRequest": {
        "required": [
          "permissionCode"
        ],
        "type": "object",
        "properties": {
          "permissionCode": {
            "type": "string"
          }
        }
      },
      "HttpValidationProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "IFormFile": {
        "type": "string",
        "format": "binary"
      },
      "InfoRequest": {
        "type": "object",
        "properties": {
          "newEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "newPassword": {
            "type": [
              "null",
              "string"
            ]
          },
          "oldPassword": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "InfoResponse": {
        "required": [
          "email",
          "isEmailConfirmed"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "isEmailConfirmed": {
            "type": "boolean"
          }
        }
      },
      "InviteBuilderRequest": {
        "required": [
          "builderOrganisationId"
        ],
        "type": "object",
        "properties": {
          "builderOrganisationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "InviteToOrganisationRequest": {
        "required": [
          "email",
          "message"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "InviteToProjectRequest": {
        "required": [
          "email",
          "role"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/ParticipantRole"
          }
        }
      },
      "JsonElement": { },
      "LabourCalculationRequest": {
        "required": [
          "installationActivityId",
          "quantity",
          "projectCondition",
          "countryCode",
          "stateOrRegion",
          "locality",
          "effectiveDate"
        ],
        "type": "object",
        "properties": {
          "installationActivityId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "projectCondition": {
            "$ref": "#/components/schemas/ProjectCondition"
          },
          "countryCode": {
            "type": "string"
          },
          "stateOrRegion": {
            "type": "string"
          },
          "locality": {
            "type": [
              "null",
              "string"
            ]
          },
          "effectiveDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          }
        }
      },
      "LoginRequest": {
        "required": [
          "email",
          "password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "twoFactorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "twoFactorRecoveryCode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MarketPriceAuditBatchRequest": {
        "required": [
          "observationIds"
        ],
        "type": "object",
        "properties": {
          "observationIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MarketPriceAuditConvertRequest": {
        "required": [
          "observationId",
          "unitPrice"
        ],
        "type": "object",
        "properties": {
          "observationId": {
            "type": "string",
            "format": "uuid"
          },
          "unitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MasterItemClass": {
        "type": "integer"
      },
      "MasterItemGemRole": {
        "type": "integer"
      },
      "MaterialQualityProfile": {
        "type": "integer"
      },
      "MaterialSelectionSource": {
        "type": "integer"
      },
      "MobileAttestation": {
        "required": [
          "kind",
          "token"
        ],
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        }
      },
      "MobileCodeRequest": {
        "required": [
          "email",
          "attestation"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "attestation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MobileAttestation"
              }
            ]
          }
        }
      },
      "MobileReportUsageRequest": {
        "required": [
          "reportId",
          "kind",
          "organisationId"
        ],
        "type": "object",
        "properties": {
          "reportId": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "organisationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "MobileTokenRequest": {
        "required": [
          "email",
          "code"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        }
      },
      "NotificationTemplateChannel": {
        "type": "integer"
      },
      "OpenPortalRequest": {
        "required": [
          "organisationId"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "OrganisationContactDetails": {
        "type": "object",
        "properties": {
          "contactName": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "mobile": {
            "type": [
              "null",
              "string"
            ]
          },
          "website": {
            "type": [
              "null",
              "string"
            ]
          },
          "abn": {
            "type": [
              "null",
              "string"
            ]
          },
          "acn": {
            "type": [
              "null",
              "string"
            ]
          },
          "addressLine": {
            "type": [
              "null",
              "string"
            ]
          },
          "suburb": {
            "type": [
              "null",
              "string"
            ]
          },
          "stateOrRegion": {
            "type": [
              "null",
              "string"
            ]
          },
          "postcode": {
            "type": [
              "null",
              "string"
            ]
          },
          "commercialRecordNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "isEmpty": {
            "type": "boolean"
          }
        }
      },
      "OrganisationType": {
        "type": "integer"
      },
      "OrganisationVerificationStatus": {
        "type": "integer"
      },
      "OverrideMaterialSelectionRequest": {
        "required": [
          "materialProductId",
          "source",
          "reason"
        ],
        "type": "object",
        "properties": {
          "materialProductId": {
            "type": "string",
            "format": "uuid"
          },
          "source": {
            "$ref": "#/components/schemas/MaterialSelectionSource"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "actorUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "ParticipantRole": {
        "type": "integer"
      },
      "PriceQuoteFromGemRequest": {
        "required": [
          "gemCalculationRunId",
          "pathway",
          "priceRegionCode",
          "currencyCode",
          "sourceQuoteVersionId",
          "excludedMasterItemIds"
        ],
        "type": "object",
        "properties": {
          "gemCalculationRunId": {
            "type": "string",
            "format": "uuid"
          },
          "pathway": {
            "$ref": "#/components/schemas/QuotePathway"
          },
          "priceRegionCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "sourceQuoteVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "excludedMasterItemIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "projectCondition": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProjectCondition"
              }
            ]
          },
          "builderMarginPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ProductMediaType": {
        "type": "integer"
      },
      "ProductQualityPriceBand": {
        "required": [
          "qualityProfile",
          "minimumUnitPrice"
        ],
        "type": "object",
        "properties": {
          "qualityProfile": {
            "$ref": "#/components/schemas/MaterialQualityProfile"
          },
          "minimumUnitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maximumUnitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "priority": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32",
            "default": 0
          }
        }
      },
      "ProductStatus": {
        "type": "integer"
      },
      "ProgrammeAdjustmentRequest": {
        "required": [
          "stageCode",
          "adjustedDays",
          "startDate",
          "endDate",
          "note"
        ],
        "type": "object",
        "properties": {
          "stageCode": {
            "type": "string"
          },
          "adjustedDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "startDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "endDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ProgressQuoteRequest": {
        "required": [
          "pathway"
        ],
        "type": "object",
        "properties": {
          "pathway": {
            "$ref": "#/components/schemas/QuotePathway"
          }
        }
      },
      "ProjectCondition": {
        "type": "integer"
      },
      "ProposeAiSourcedOfferRequest": {
        "required": [
          "supplierOrganisationId",
          "productVariantId",
          "code",
          "marketCode",
          "currencyCode",
          "unitPrice",
          "sourceUrl",
          "sourceCapturedAt",
          "matchConfidence"
        ],
        "type": "object",
        "properties": {
          "supplierOrganisationId": {
            "type": "string",
            "format": "uuid"
          },
          "productVariantId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "marketCode": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "unitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "sourceUrl": {
            "type": "string"
          },
          "sourceCapturedAt": {
            "type": "string",
            "format": "date-time"
          },
          "matchConfidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "PublishConstructionSystemRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishCountryRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishCurrencyRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishGemCoefficientRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishGemFormulaRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishLanguageRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishMarketplaceRuleRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishNotificationTemplateRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishPriceRegionRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishPricingRuleRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishQualityPackageRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishQuoteWizardStepRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishReferenceTypeRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishRegionRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishSitePageRequest": {
        "required": [
          "changeNote"
        ],
        "type": "object",
        "properties": {
          "changeNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PublishStageDurationRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PublishTaxRequest": {
        "required": [
          "effectiveFrom"
        ],
        "type": "object",
        "properties": {
          "effectiveFrom": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "QuantitySource": {
        "type": "integer"
      },
      "QuoteLabourEstimateItemRequest": {
        "required": [
          "installationActivityId",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "installationActivityId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "QuoteLabourEstimateRequest": {
        "required": [
          "projectCondition",
          "effectiveDate",
          "items"
        ],
        "type": "object",
        "properties": {
          "projectCondition": {
            "$ref": "#/components/schemas/ProjectCondition"
          },
          "effectiveDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteLabourEstimateItemRequest"
            }
          }
        }
      },
      "QuotePathway": {
        "type": "integer"
      },
      "ReadProjectSetupRequest": {
        "required": [
          "documentIds"
        ],
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "RecommendSupplierOffersRequest": {
        "required": [
          "productVariantId",
          "marketCode",
          "currencyCode",
          "requiredQuantity",
          "requiredOn",
          "maximumResults",
          "maximumLeadTimeDays"
        ],
        "type": "object",
        "properties": {
          "productVariantId": {
            "type": "string",
            "format": "uuid"
          },
          "marketCode": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "requiredQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "requiredOn": {
            "type": "string",
            "format": "date"
          },
          "maximumResults": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maximumLeadTimeDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "RecordSupplierMarketPriceRequest": {
        "required": [
          "productVariantId",
          "marketCode",
          "currencyCode",
          "unitPrice",
          "unit",
          "notes"
        ],
        "type": "object",
        "properties": {
          "productVariantId": {
            "type": "string",
            "format": "uuid"
          },
          "marketCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "unitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "unit": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReferenceTypeCategory": {
        "type": "integer"
      },
      "ReferralClaimRequest": {
        "required": [
          "code",
          "deviceId"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          }
        }
      },
      "RefreshRequest": {
        "required": [
          "refreshToken"
        ],
        "type": "object",
        "properties": {
          "refreshToken": {
            "type": "string"
          }
        }
      },
      "RegisterAccountRequest": {
        "required": [
          "email",
          "password",
          "displayName",
          "role",
          "organisationName",
          "market",
          "acceptTerms",
          "acceptMarketplaceAgreement"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/SignUpRole"
          },
          "organisationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "market": {
            "type": [
              "null",
              "string"
            ]
          },
          "acceptTerms": {
            "type": "boolean"
          },
          "acceptMarketplaceAgreement": {
            "type": "boolean"
          },
          "referralCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "joinOrganisationInvitationToken": {
            "type": [
              "null",
              "string"
            ]
          },
          "for": {
            "type": [
              "null",
              "string"
            ]
          },
          "returnTo": {
            "type": [
              "null",
              "string"
            ]
          },
          "marketingConsent": {
            "type": "boolean",
            "default": false
          },
          "tradeProfile": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TradeProfileRegistration"
              }
            ]
          },
          "tradeInvitationToken": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RegisterRequest": {
        "required": [
          "email",
          "password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "RejectOrganisationRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          }
        }
      },
      "RejectSupplierProductsRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "productIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "notifyByEmail": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "RenameOrganisationRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ResendConfirmationEmailRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "ResendConfirmationRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "ResetPasswordRequest": {
        "required": [
          "email",
          "resetCode",
          "newPassword"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "resetCode": {
            "type": "string"
          },
          "newPassword": {
            "type": "string"
          }
        }
      },
      "ResolveSupportTicketRequest": {
        "required": [
          "resolutionNotes"
        ],
        "type": "object",
        "properties": {
          "resolutionNotes": {
            "type": "string"
          }
        }
      },
      "RestoreSupplierProductsRequest": {
        "type": "object",
        "properties": {
          "productIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "ReturnToPendingOrganisationRequest": {
        "required": [
          "note"
        ],
        "type": "object",
        "properties": {
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RunAiSourcingRequest": {
        "required": [
          "query",
          "marketCode",
          "currencyCode",
          "supplierOrganisationId",
          "maxListings"
        ],
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "marketCode": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "supplierOrganisationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "maxListings": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "SaveAiSourcingScheduleRequest": {
        "required": [
          "query",
          "marketCode",
          "currencyCode",
          "supplierOrganisationId",
          "maxListings",
          "intervalDays",
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "marketCode": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "supplierOrganisationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "maxListings": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "intervalDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "isEnabled": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "SaveCampaignRequest": {
        "required": [
          "subject",
          "bodyMarkdown",
          "audience"
        ],
        "type": "object",
        "properties": {
          "subject": {
            "type": "string"
          },
          "bodyMarkdown": {
            "type": "string"
          },
          "audience": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CampaignAudienceRequest"
              }
            ]
          }
        }
      },
      "SaveProjectGemInputsRequest": {
        "required": [
          "variables"
        ],
        "type": "object",
        "properties": {
          "variables": {
            "type": [
              "null",
              "object"
            ]
          }
        }
      },
      "SaveQuoteDraftRequest": {
        "required": [
          "currentSection",
          "completedSectionsJson",
          "completionPercentage",
          "snapshotJson",
          "isAutoSave"
        ],
        "type": "object",
        "properties": {
          "currentSection": {
            "type": "string"
          },
          "completedSectionsJson": {
            "type": "string"
          },
          "completionPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "snapshotJson": {
            "type": "string"
          },
          "isAutoSave": {
            "type": "boolean"
          }
        }
      },
      "SaveSitePageDraftRequest": {
        "required": [
          "content"
        ],
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "SelectPreferredBuilderRequest": {
        "required": [
          "builderOrganisationId"
        ],
        "type": "object",
        "properties": {
          "builderOrganisationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "SelectWorkspaceRequest": {
        "required": [
          "tenantId"
        ],
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "SendCampaignRequest": {
        "type": "object",
        "properties": {
          "sendAnyway": {
            "type": "boolean",
            "default": false
          },
          "scheduledFor": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "SendTradePackageRequest": {
        "type": "object",
        "properties": {
          "tradeOrganisationIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "emails": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetActiveRequest": {
        "required": [
          "isActive"
        ],
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "SetBuilderProfileDetailsRequest": {
        "required": [
          "capacity",
          "notes"
        ],
        "type": "object",
        "properties": {
          "capacity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetBuilderProfileRequest": {
        "required": [
          "capacity",
          "notes"
        ],
        "type": "object",
        "properties": {
          "capacity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetConsentRequest": {
        "required": [
          "consent"
        ],
        "type": "object",
        "properties": {
          "consent": {
            "type": "boolean"
          }
        }
      },
      "SetDefaultVariantRequest": {
        "required": [
          "productVariantId"
        ],
        "type": "object",
        "properties": {
          "productVariantId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "SetDocumentSharingRequest": {
        "required": [
          "shared"
        ],
        "type": "object",
        "properties": {
          "shared": {
            "type": "boolean"
          }
        }
      },
      "SetNotificationPreferenceRequest": {
        "required": [
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "isEnabled": {
            "type": "boolean"
          }
        }
      },
      "SetOrganisationTestRequest": {
        "required": [
          "isTest"
        ],
        "type": "object",
        "properties": {
          "isTest": {
            "type": "boolean"
          }
        }
      },
      "SetPreferredOrganisationRequest": {
        "required": [
          "organisationId"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "SetPreparedForRequest": {
        "required": [
          "preparedForName"
        ],
        "type": "object",
        "properties": {
          "preparedForName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetProjectSiteRequest": {
        "required": [
          "addressLine1",
          "suburb",
          "stateOrRegion",
          "postalCode",
          "countryCode"
        ],
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string"
          },
          "suburb": {
            "type": "string"
          },
          "stateOrRegion": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "addressLine2": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "landAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "frontageM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SetQuoteItemQuantityRequest": {
        "required": [
          "quantity",
          "note"
        ],
        "type": "object",
        "properties": {
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "clientUnitRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "clientRateNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "clientRateIncludesGst": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "SetShareItemRatesRequest": {
        "required": [
          "shareItemRates"
        ],
        "type": "object",
        "properties": {
          "shareItemRates": {
            "type": "boolean"
          }
        }
      },
      "SetSupportTicketPriorityRequest": {
        "required": [
          "priority"
        ],
        "type": "object",
        "properties": {
          "priority": {
            "$ref": "#/components/schemas/SupportPriority"
          }
        }
      },
      "SetTradeLicenceCheckedRequest": {
        "required": [
          "licenceChecked"
        ],
        "type": "object",
        "properties": {
          "licenceChecked": {
            "type": "boolean"
          },
          "licenceNumber": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetupApplyOverrides": {
        "required": [
          "storeyAreas",
          "spaceAreas"
        ],
        "type": "object",
        "properties": {
          "storeyAreas": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          },
          "spaceAreas": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          }
        }
      },
      "SetupBuilding": {
        "required": [
          "name",
          "grossFloorAreaM2",
          "confidence",
          "source",
          "storeys"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "grossFloorAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "confidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "source": {
            "type": "string"
          },
          "storeys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupStorey"
            }
          }
        }
      },
      "SetupConflict": {
        "required": [
          "field",
          "sheet",
          "values",
          "note"
        ],
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "sheet": {
            "type": "string"
          },
          "values": {
            "type": "string"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetupFinding": {
        "required": [
          "code",
          "severity",
          "message",
          "field"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "field": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetupGeometry": {
        "required": [
          "units",
          "storeys",
          "roofPitchDegrees",
          "roofType",
          "storeyHeightM"
        ],
        "type": "object",
        "properties": {
          "units": {
            "type": "string"
          },
          "storeys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupStoreyGeometry"
            }
          },
          "roofPitchDegrees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "roofType": {
            "type": [
              "null",
              "string"
            ]
          },
          "storeyHeightM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SetupOpening": {
        "required": [
          "kind",
          "count",
          "widthM",
          "heightM",
          "room"
        ],
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "widthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "heightM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "room": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetupPixelBox": {
        "required": [
          "imageId",
          "x",
          "y",
          "w",
          "h"
        ],
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string"
          },
          "x": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "y": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "w": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "h": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "open": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "SetupPixelOutline": {
        "required": [
          "imageId",
          "points"
        ],
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string"
          },
          "points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
                "type": [
                  "number",
                  "string"
                ],
                "format": "double"
              }
            }
          }
        }
      },
      "SetupProposal": {
        "required": [
          "schemaVersion",
          "site",
          "buildings",
          "geometry",
          "gemInputs",
          "conflicts",
          "findings",
          "notes"
        ],
        "type": "object",
        "properties": {
          "schemaVersion": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "site": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetupSite"
              }
            ]
          },
          "buildings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupBuilding"
            }
          },
          "geometry": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetupGeometry"
              }
            ]
          },
          "gemInputs": {
            "type": "object"
          },
          "conflicts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupConflict"
            }
          },
          "findings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupFinding"
            }
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "canApply": {
            "type": "boolean"
          },
          "sheets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SheetScaleRecord"
            }
          }
        }
      },
      "SetupRoom": {
        "required": [
          "typeCode",
          "name",
          "quantity",
          "areaM2",
          "widthM",
          "depthM",
          "confidence",
          "source"
        ],
        "type": "object",
        "properties": {
          "typeCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": "string"
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "areaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "widthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "depthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "confidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "source": {
            "type": "string"
          },
          "printed": {
            "type": "boolean"
          },
          "areaSource": {
            "type": [
              "null",
              "string"
            ]
          },
          "areaConfidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "readAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "measuredAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "printedAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "boxPx": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetupPixelBox"
              }
            ]
          },
          "sheetNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetupRoomGeometry": {
        "required": [
          "name",
          "xm",
          "ym",
          "widthM",
          "depthM"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "xm": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "ym": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "widthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "depthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SetupSite": {
        "required": [
          "landAreaM2",
          "frontageM",
          "depthM",
          "confidence",
          "source"
        ],
        "type": "object",
        "properties": {
          "landAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "frontageM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "depthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "confidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "source": {
            "type": "string"
          }
        }
      },
      "SetupStorey": {
        "required": [
          "name",
          "levelNumber",
          "floorAreaM2",
          "heightM",
          "confidence",
          "source",
          "rooms"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "levelNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "floorAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "heightM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "confidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "source": {
            "type": "string"
          },
          "rooms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupRoom"
            }
          },
          "printed": {
            "type": "boolean"
          },
          "areaSource": {
            "type": [
              "null",
              "string"
            ]
          },
          "areaConfidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "readFloorAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "outlineAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "carpetAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "wallFootprintAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "outlinePx": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetupPixelOutline"
              }
            ]
          },
          "sheetNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetupStoreyGeometry": {
        "required": [
          "levelNumber",
          "footprintWidthM",
          "footprintDepthM",
          "rooms",
          "openings"
        ],
        "type": "object",
        "properties": {
          "levelNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "footprintWidthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "footprintDepthM": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "rooms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupRoomGeometry"
            }
          },
          "openings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetupOpening"
            }
          }
        }
      },
      "SheetFinding": {
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "SheetImageRecord": {
        "required": [
          "imageId",
          "kind",
          "widthPx",
          "heightPx",
          "originXPt",
          "originYPt",
          "pxPerPt"
        ],
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "widthPx": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "heightPx": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "originXPt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "originYPt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "pxPerPt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "tileIndex": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32",
            "default": 0
          },
          "tileCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32",
            "default": 0
          }
        }
      },
      "SheetPrintedRoomRecord": {
        "required": [
          "label",
          "widthMm",
          "depthMm",
          "areaM2"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "widthMm": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "depthMm": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "areaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "source": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SheetScaleRecord": {
        "required": [
          "documentId",
          "page",
          "label",
          "state",
          "mmPerPoint",
          "pairs",
          "inliers",
          "spreadPercent",
          "declaredRatio",
          "declaredPaper",
          "ratioToDeclared",
          "pageWidthPt",
          "pageHeightPt",
          "hasTextLayer",
          "findings",
          "images",
          "printedRooms"
        ],
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "format": "uuid"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "label": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/SheetScaleState"
          },
          "mmPerPoint": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "pairs": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "inliers": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "spreadPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "declaredRatio": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "declaredPaper": {
            "type": [
              "null",
              "string"
            ]
          },
          "ratioToDeclared": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "pageWidthPt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "pageHeightPt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "hasTextLayer": {
            "type": "boolean"
          },
          "findings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SheetFinding"
            }
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SheetImageRecord"
            }
          },
          "printedRooms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SheetPrintedRoomRecord"
            }
          },
          "ordinal": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SheetScaleState": {
        "enum": [
          "Unknown",
          "Declared",
          "Calibrated"
        ]
      },
      "SignUpRole": {
        "type": "integer"
      },
      "SiteLeadBallparkRequest": {
        "required": [
          "suburb"
        ],
        "type": "object",
        "properties": {
          "suburb": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          },
          "floorAreaM2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "projectType": {
            "type": [
              "null",
              "string"
            ]
          },
          "finishLevel": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SiteLeadSourceRequest": {
        "type": "object",
        "properties": {
          "utmSource": {
            "type": [
              "null",
              "string"
            ]
          },
          "utmMedium": {
            "type": [
              "null",
              "string"
            ]
          },
          "utmCampaign": {
            "type": [
              "null",
              "string"
            ]
          },
          "utmTerm": {
            "type": [
              "null",
              "string"
            ]
          },
          "utmContent": {
            "type": [
              "null",
              "string"
            ]
          },
          "referrer": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SiteLeadSupplierRequest": {
        "required": [
          "businessName"
        ],
        "type": "object",
        "properties": {
          "businessName": {
            "type": [
              "null",
              "string"
            ]
          },
          "categories": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "catalogueNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "abn": {
            "type": [
              "null",
              "string"
            ]
          },
          "website": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "StartBuilderEngagementRequest": {
        "required": [
          "quoteId"
        ],
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "string",
            "format": "uuid"
          },
          "shareItemRates": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "StartCheckoutRequest": {
        "required": [
          "organisationId",
          "planCode"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          },
          "planCode": {
            "type": "string"
          }
        }
      },
      "SubmitBuilderResponseRequest": {
        "required": [
          "builderOrganisationId",
          "responseType",
          "priceRevision",
          "programmeInformation",
          "notes",
          "qualifications",
          "exclusions",
          "proposedAlternativeMaterials",
          "proposedAlternativeConstructionMethods"
        ],
        "type": "object",
        "properties": {
          "builderOrganisationId": {
            "type": "string",
            "format": "uuid"
          },
          "responseType": {
            "$ref": "#/components/schemas/BuilderResponseType"
          },
          "priceRevision": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "programmeInformation": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "qualifications": {
            "type": [
              "null",
              "string"
            ]
          },
          "exclusions": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposedAlternativeMaterials": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposedAlternativeConstructionMethods": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposedBuilderMarginPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SubmitConstructionSystemForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitCountryForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitCurrencyForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitGemCoefficientForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitGemFormulaForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitLanguageForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitMarketplaceRuleForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitNotificationTemplateForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitPriceRegionForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitPricingRuleForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitQualityPackageForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitQuoteWizardStepForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitReferenceTypeForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitRegionForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitSiteLeadRequest": {
        "required": [
          "kind",
          "email"
        ],
        "type": "object",
        "properties": {
          "kind": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "role": {
            "type": [
              "null",
              "string"
            ]
          },
          "organisation": {
            "type": [
              "null",
              "string"
            ]
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          },
          "extra_field": {
            "type": [
              "null",
              "string"
            ]
          },
          "page": {
            "type": [
              "null",
              "string"
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SiteLeadSourceRequest"
              }
            ]
          },
          "ballpark": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SiteLeadBallparkRequest"
              }
            ]
          },
          "supplier": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SiteLeadSupplierRequest"
              }
            ]
          },
          "market": {
            "type": [
              "null",
              "string"
            ]
          },
          "language": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SubmitStageDurationForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubmitTaxForReviewRequest": {
        "required": [
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string"
          }
        }
      },
      "SubscribeRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "group": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          },
          "pageSlug": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SupplierOfferAuditBatchRequest": {
        "required": [
          "offerIds"
        ],
        "type": "object",
        "properties": {
          "offerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SupplierOfferIncoterm": {
        "type": "integer"
      },
      "SupplierOfferStatus": {
        "type": "integer"
      },
      "SupplierStockStatus": {
        "type": "integer"
      },
      "SupportCategory": {
        "type": "integer"
      },
      "SupportPriority": {
        "type": "integer"
      },
      "SuspendOrganisationRequest": {
        "required": [
          "note"
        ],
        "type": "object",
        "properties": {
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SystemInfoResponse": {
        "required": [
          "name",
          "version",
          "environment",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "environment": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "TenantContextResponse": {
        "required": [
          "tenantId",
          "userId"
        ],
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "TradeProfileRegistration": {
        "required": [
          "businessName",
          "categories",
          "serviceState",
          "serviceSuburbs",
          "licenceNumber"
        ],
        "type": "object",
        "properties": {
          "businessName": {
            "type": [
              "null",
              "string"
            ]
          },
          "categories": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "serviceState": {
            "type": [
              "null",
              "string"
            ]
          },
          "serviceSuburbs": {
            "type": [
              "null",
              "string"
            ]
          },
          "licenceNumber": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TradeRespondRequest": {
        "required": [
          "lumpSumExGst"
        ],
        "type": "object",
        "properties": {
          "lumpSumExGst": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "unitRates": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TradeUnitRateRequest"
            }
          },
          "availableFrom": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "availableTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "validUntil": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TradeUnitRateRequest": {
        "required": [
          "masterItemId",
          "rateExGst"
        ],
        "type": "object",
        "properties": {
          "masterItemId": {
            "type": "string",
            "format": "uuid"
          },
          "rateExGst": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "TwoFactorRequest": {
        "type": "object",
        "properties": {
          "enable": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "twoFactorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "resetSharedKey": {
            "type": "boolean"
          },
          "resetRecoveryCodes": {
            "type": "boolean"
          },
          "forgetMachine": {
            "type": "boolean"
          }
        }
      },
      "TwoFactorResponse": {
        "required": [
          "sharedKey",
          "recoveryCodesLeft",
          "isTwoFactorEnabled",
          "isMachineRemembered"
        ],
        "type": "object",
        "properties": {
          "sharedKey": {
            "type": "string"
          },
          "recoveryCodesLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "recoveryCodes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "isTwoFactorEnabled": {
            "type": "boolean"
          },
          "isMachineRemembered": {
            "type": "boolean"
          }
        }
      },
      "UpdateDisplayNameRequest": {
        "required": [
          "displayName"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          }
        }
      },
      "UpdateGemCoefficientDraftRequest": {
        "required": [
          "name",
          "activeValue",
          "lowValue",
          "highValue"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "activeValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "lowValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "UpdateGemFormulaDraftRequest": {
        "required": [
          "name",
          "formulaExpression",
          "confidence",
          "reviewNote",
          "targetMasterItemId",
          "dependsOnRuleIds"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "formulaExpression": {
            "type": "string"
          },
          "confidence": {
            "$ref": "#/components/schemas/GemFormulaConfidence"
          },
          "reviewNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "targetMasterItemId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dependsOnRuleIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UpdateInstallationActivityRequest": {
        "required": [
          "labourHoursPerUnit",
          "minimumLabourHours",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "labourHoursPerUnit": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "minimumLabourHours": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "UpdateLanguageRequest": {
        "required": [
          "languageCode"
        ],
        "type": "object",
        "properties": {
          "languageCode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateMasterItemRequest": {
        "required": [
          "categoryId",
          "unitOfMeasureId",
          "gemRole",
          "defaultWastePercentage",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "categoryId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "unitOfMeasureId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "gemRole": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MasterItemGemRole"
              }
            ]
          },
          "defaultWastePercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "isActive": {
            "type": "boolean"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "itemClass": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MasterItemClass"
              }
            ]
          },
          "quantitySource": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/QuantitySource"
              }
            ]
          },
          "supportsDefaults": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "supportsFormula": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "stageCode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateMaterialCategoryRequest": {
        "required": [
          "name",
          "displayOrder",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "UpdateOrganisationCountryRequest": {
        "required": [
          "countryCode"
        ],
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          }
        }
      },
      "UpdateOrganisationRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "UpdateOrganisationTypeRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "UpdateProductRequest": {
        "required": [
          "name",
          "manufacturer",
          "brand",
          "series",
          "description",
          "countryOfOriginCode",
          "barcode"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "manufacturer": {
            "type": [
              "null",
              "string"
            ]
          },
          "brand": {
            "type": [
              "null",
              "string"
            ]
          },
          "series": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryOfOriginCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "barcode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateProductSpecificationRequest": {
        "required": [
          "name",
          "value",
          "unit",
          "standardReference",
          "displayOrder"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "unit": {
            "type": [
              "null",
              "string"
            ]
          },
          "standardReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "UpdateProductVariantRequest": {
        "required": [
          "name",
          "unitOfMeasureId",
          "sku",
          "barcode",
          "colour",
          "finish",
          "sizeDescription",
          "packQuantity",
          "coveragePerPack",
          "weightPerPackKg"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "unitOfMeasureId": {
            "type": "string",
            "format": "uuid"
          },
          "sku": {
            "type": [
              "null",
              "string"
            ]
          },
          "barcode": {
            "type": [
              "null",
              "string"
            ]
          },
          "colour": {
            "type": [
              "null",
              "string"
            ]
          },
          "finish": {
            "type": [
              "null",
              "string"
            ]
          },
          "sizeDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "packQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "coveragePerPack": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "weightPerPackKg": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "UpdateQuoteProgrammeRequest": {
        "required": [
          "plannedStartDate",
          "adjustments"
        ],
        "type": "object",
        "properties": {
          "plannedStartDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "adjustments": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProgrammeAdjustmentRequest"
            }
          }
        }
      },
      "UpdateQuoteReportSectionsRequest": {
        "required": [
          "hidden"
        ],
        "type": "object",
        "properties": {
          "hidden": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UpdateQuoteTermsRequest": {
        "required": [
          "exclusionsText",
          "byOthersText",
          "termsText"
        ],
        "type": "object",
        "properties": {
          "exclusionsText": {
            "type": [
              "null",
              "string"
            ]
          },
          "byOthersText": {
            "type": [
              "null",
              "string"
            ]
          },
          "termsText": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateSiteLeadStatusRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateStageDurationDraftRequest": {
        "required": [
          "baseWorkingDays",
          "daysPer100M2Livable",
          "overlapWithPreviousPercent",
          "notes"
        ],
        "type": "object",
        "properties": {
          "baseWorkingDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "daysPer100M2Livable": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "overlapWithPreviousPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateSupplierOfferCommercialTermsRequest": {
        "required": [
          "unitPrice",
          "listPrice",
          "minimumOrderQuantity",
          "stockStatus",
          "availableQuantity",
          "leadTimeDays",
          "validFrom",
          "validTo",
          "isPreferred"
        ],
        "type": "object",
        "properties": {
          "unitPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "listPrice": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "minimumOrderQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "stockStatus": {
            "$ref": "#/components/schemas/SupplierStockStatus"
          },
          "availableQuantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "leadTimeDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "validFrom": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "validTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "isPreferred": {
            "type": "boolean"
          },
          "unit": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateSupplierOfferShippingTermsRequest": {
        "required": [
          "incoterm",
          "deliveryPlace"
        ],
        "type": "object",
        "properties": {
          "incoterm": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SupplierOfferIncoterm"
              }
            ]
          },
          "deliveryPlace": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateSupplierProductRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "manufacturer": {
            "type": [
              "null",
              "string"
            ]
          },
          "brand": {
            "type": [
              "null",
              "string"
            ]
          },
          "series": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryOfOriginCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "barcode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateTradeProfileRequest": {
        "required": [
          "organisationId",
          "categories",
          "serviceState",
          "serviceSuburbs",
          "serviceRadiusKm",
          "licenceNumber",
          "notes"
        ],
        "type": "object",
        "properties": {
          "organisationId": {
            "type": "string",
            "format": "uuid"
          },
          "categories": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "serviceState": {
            "type": [
              "null",
              "string"
            ]
          },
          "serviceSuburbs": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "serviceRadiusKm": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "licenceNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateTradeRateRequest": {
        "required": [
          "hourlyRate",
          "effectiveTo",
          "source",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "hourlyRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "effectiveTo": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "source": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "UpdateTradeRequest": {
        "required": [
          "name",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "UpdateUnitOfMeasureRequest": {
        "required": [
          "name",
          "symbol",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "VerifyOrganisationRequest": {
        "required": [
          "note"
        ],
        "type": "object",
        "properties": {
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "VoteAssistantRequest": {
        "required": [
          "vote",
          "sessionId"
        ],
        "type": "object",
        "properties": {
          "vote": {
            "type": [
              "null",
              "string"
            ]
          },
          "sessionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "WithdrawSelectionRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          }
        }
      },
      "WithdrawSupplierRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "GBQ.Api"
    },
    {
      "name": "Builder client sharing (public)"
    },
    {
      "name": "Client branding (public)"
    },
    {
      "name": "Product Media"
    },
    {
      "name": "Identity"
    },
    {
      "name": "BuilderEngagementEndpoints"
    },
    {
      "name": "Builder Profile"
    },
    {
      "name": "Trades (public)"
    },
    {
      "name": "Defects (public)"
    },
    {
      "name": "Billing"
    },
    {
      "name": "Referrals"
    },
    {
      "name": "Configuration Centre - Quote Wizard Steps"
    },
    {
      "name": "Material Catalogue"
    },
    {
      "name": "Configuration Centre - Pricing Rules"
    },
    {
      "name": "Account"
    },
    {
      "name": "SubscriptionEndpoints"
    },
    {
      "name": "Admin Plans"
    },
    {
      "name": "Projects"
    },
    {
      "name": "Project Invitations"
    },
    {
      "name": "Project Participants"
    },
    {
      "name": "Builder client sharing"
    },
    {
      "name": "Quote export"
    },
    {
      "name": "Client branding"
    },
    {
      "name": "Projects - GEM"
    },
    {
      "name": "Drawing Extractions"
    },
    {
      "name": "Project set-up from drawings"
    },
    {
      "name": "Site Regulation Checks"
    },
    {
      "name": "Quote Materials"
    },
    {
      "name": "Quote Quantities"
    },
    {
      "name": "Quote Pricing"
    },
    {
      "name": "Quote programme"
    },
    {
      "name": "Master Items"
    },
    {
      "name": "Unit Conversions"
    },
    {
      "name": "Products"
    },
    {
      "name": "Product Variants"
    },
    {
      "name": "Product Specifications"
    },
    {
      "name": "Characteristics"
    },
    {
      "name": "Characteristic Options"
    },
    {
      "name": "Master Item Characteristics"
    },
    {
      "name": "Master Item Room Assignments"
    },
    {
      "name": "Product Quality Classification"
    },
    {
      "name": "Supplier Offers"
    },
    {
      "name": "Market Prices"
    },
    {
      "name": "Legacy import"
    },
    {
      "name": "Supplier"
    },
    {
      "name": "Admin"
    },
    {
      "name": "Supplier Market Prices"
    },
    {
      "name": "AI Sourced Offers"
    },
    {
      "name": "AI Sourcing Runs"
    },
    {
      "name": "Geocoding"
    },
    {
      "name": "Builder Readiness"
    },
    {
      "name": "Quote Drafts"
    },
    {
      "name": "Quote Labour"
    },
    {
      "name": "Labour and Installation"
    },
    {
      "name": "Security"
    },
    {
      "name": "Organisations"
    },
    {
      "name": "Invitations"
    },
    {
      "name": "Support"
    },
    {
      "name": "Trades"
    },
    {
      "name": "Trade packages"
    },
    {
      "name": "Notifications"
    },
    {
      "name": "Legal"
    },
    {
      "name": "Site content (public)"
    },
    {
      "name": "Site content"
    },
    {
      "name": "Assistant (public)"
    },
    {
      "name": "Assistant (staff)"
    },
    {
      "name": "Mobile"
    },
    {
      "name": "Marketing"
    },
    {
      "name": "Leads"
    },
    {
      "name": "Website contacts"
    },
    {
      "name": "Configuration Centre - Construction Systems"
    },
    {
      "name": "Configuration Centre - Reference Types"
    },
    {
      "name": "Configuration Centre - Countries"
    },
    {
      "name": "Configuration Centre - Currencies"
    },
    {
      "name": "Configuration Centre - Regions"
    },
    {
      "name": "Configuration Centre - Languages"
    },
    {
      "name": "Configuration Centre - Taxes"
    },
    {
      "name": "Configuration Centre - Price Regions"
    },
    {
      "name": "Configuration Centre - Notification Templates"
    },
    {
      "name": "Configuration Centre - GEM Formulas"
    },
    {
      "name": "Configuration Centre - GEM Coefficients"
    },
    {
      "name": "Configuration Centre - Quality Packages"
    },
    {
      "name": "Configuration Centre - Marketplace Rules"
    },
    {
      "name": "Configuration Centre - Stage Durations"
    },
    {
      "name": "Configuration Centre - Transfer"
    },
    {
      "name": "Project Documents"
    }
  ]
}