{
  "openapi": "3.1.1",
  "info": {
    "title": "BuildWithHQ Developer API",
    "description": "Versioned, app-scoped API. Draft credentials can only read, save, and validate unpublished page JSON. Live credentials are required for publication and live application operations. Tenant identity and physical database routing are derived from the authenticated credential.",
    "version": "1.0.0-developer-platform"
  },
  "servers": [
    {
      "url": "https://api.buildwithhq.com"
    }
  ],
  "paths": {
    "/v1/apps/{saasAppId}/mcp": {
      "post": {
        "tags": [
          "MCP"
        ],
        "summary": "Invoke permission-filtered MCP tools.",
        "description": "Opaque JSON-RPC transport for the curated, permission-filtered BuildWithHQ MCP tool surface. Requires mcp.use plus each invoked tool's ordinary operation scope.",
        "operationId": "developerMcpInvoke",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperMcpProtocolMessage"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperMcpProtocolMessage"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "mcp.use"
        ]
      }
    },
    "/v1/apps/{saasAppId}/ai/status": {
      "get": {
        "tags": [
          "DeveloperAi"
        ],
        "summary": "Get Status for AI.",
        "operationId": "developerAiGetStatus",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "ai.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/ai/sources/records/{recordId}/ingest": {
      "post": {
        "tags": [
          "DeveloperAi"
        ],
        "summary": "Ingest for AI.",
        "operationId": "developerAiIngest",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiIngestRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiIngestRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiIngestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiIngestReceipt"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiIngestReceipt"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiIngestReceipt"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "ai.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/ai/rebuilds": {
      "post": {
        "tags": [
          "DeveloperAi"
        ],
        "summary": "Queue Rebuild for AI.",
        "operationId": "developerAiQueueRebuild",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiRebuildRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiRebuildRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiRebuildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiRebuildReceipt"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiRebuildReceipt"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiRebuildReceipt"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "ai.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/ai/rebuilds/{jobId}": {
      "get": {
        "tags": [
          "DeveloperAi"
        ],
        "summary": "Get Rebuild for AI.",
        "operationId": "developerAiGetRebuild",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiRebuildStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiRebuildStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiRebuildStatus"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "ai.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/ai/search": {
      "post": {
        "tags": [
          "DeveloperAi"
        ],
        "summary": "Search AI.",
        "operationId": "developerAiSearch",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiSearchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiSearchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperAiSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiSearchResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiSearchResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiApiSearchResult"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "ai.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/authorization": {
      "get": {
        "tags": [
          "DeveloperAppDesignAuthorization"
        ],
        "summary": "Get App Design Authorization.",
        "operationId": "developerAppDesignAuthorizationGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AppDesignAuthorization"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppDesignAuthorization"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppDesignAuthorization"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages": {
      "get": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "List App Design Pages.",
        "operationId": "developerAppDesignPagesList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "Create App Design Pages.",
        "operationId": "developerAppDesignPagesCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages/{pageKey}": {
      "get": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "Get App Design Pages.",
        "operationId": "developerAppDesignPagesGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages/{pageKey}/draft": {
      "put": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "Save Draft for App Design Pages.",
        "operationId": "developerAppDesignPagesSaveDraft",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageDraftSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageDraftSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageDraftSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages/{pageKey}/validate": {
      "post": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "Validate for App Design Pages.",
        "operationId": "developerAppDesignPagesValidate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages/{pageKey}/publish": {
      "post": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "Publish for App Design Pages.",
        "operationId": "developerAppDesignPagesPublish",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPagePublishRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPagePublishRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPagePublishRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.publish"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages/{pageKey}/history": {
      "get": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "History for App Design Pages.",
        "operationId": "developerAppDesignPagesHistory",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.draft.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/pages/{pageKey}/active": {
      "put": {
        "tags": [
          "DeveloperAppDesignPages"
        ],
        "summary": "Set Active for App Design Pages.",
        "operationId": "developerAppDesignPagesSetActive",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageActiveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageActiveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPageActiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AppDesignPageActiveReceipt"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppDesignPageActiveReceipt"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppDesignPageActiveReceipt"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "pages.publish"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/authoring": {
      "get": {
        "tags": [
          "DeveloperAppDesignAuthoring"
        ],
        "summary": "Get App Design Authoring.",
        "operationId": "developerAppDesignAuthoringGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/authoring/user-types/{userTypeKey}": {
      "put": {
        "tags": [
          "DeveloperAppDesignAuthoring"
        ],
        "summary": "Upsert User Type for App Design Authoring.",
        "operationId": "developerAppDesignAuthoringUpsertUserType",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "userTypeKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignUserTypeUpsertRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignUserTypeUpsertRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignUserTypeUpsertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/authoring/user-types/{userTypeKey}/menu": {
      "put": {
        "tags": [
          "DeveloperAppDesignAuthoring"
        ],
        "summary": "Save Menu for App Design Authoring.",
        "operationId": "developerAppDesignAuthoringSaveMenu",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "userTypeKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignUserTypeMenuSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignUserTypeMenuSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignUserTypeMenuSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/authoring/user-types/{userTypeKey}/tenant-policy": {
      "put": {
        "tags": [
          "DeveloperAppDesignAuthoring"
        ],
        "summary": "Save Tenant Presentation Policy for App Design Authoring.",
        "operationId": "developerAppDesignAuthoringSaveTenantPresentationPolicy",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "userTypeKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignTenantPresentationPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignTenantPresentationPolicyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignTenantPresentationPolicyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/authoring/tenant-policies": {
      "get": {
        "tags": [
          "DeveloperAppDesignAuthoring"
        ],
        "summary": "Get Tenant Presentation Policies for App Design Authoring.",
        "operationId": "developerAppDesignAuthoringGetTenantPresentationPolicies",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/fields/{moduleKey}": {
      "get": {
        "tags": [
          "DeveloperAppDesignFields"
        ],
        "summary": "List App Design Fields.",
        "operationId": "developerAppDesignFieldsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperAppDesignFields"
        ],
        "summary": "Create App Design Fields.",
        "operationId": "developerAppDesignFieldsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/fields/{moduleKey}/{fieldDefinitionId}": {
      "put": {
        "tags": [
          "DeveloperAppDesignFields"
        ],
        "summary": "Update App Design Fields.",
        "operationId": "developerAppDesignFieldsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fieldDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/fields/{moduleKey}/policy": {
      "get": {
        "tags": [
          "DeveloperAppDesignFields"
        ],
        "summary": "Get Policy for App Design Fields.",
        "operationId": "developerAppDesignFieldsGetPolicy",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      },
      "put": {
        "tags": [
          "DeveloperAppDesignFields"
        ],
        "summary": "Set Policy for App Design Fields.",
        "operationId": "developerAppDesignFieldsSetPolicy",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldPolicyWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldPolicyWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignCustomFieldPolicyWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/link-types": {
      "get": {
        "tags": [
          "DeveloperAppDesignLinkTypes"
        ],
        "summary": "List App Design Link Types.",
        "operationId": "developerAppDesignLinkTypesList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/link-types/{relationKey}": {
      "put": {
        "tags": [
          "DeveloperAppDesignLinkTypes"
        ],
        "summary": "Save App Design Link Types.",
        "operationId": "developerAppDesignLinkTypesSave",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "relationKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignLinkTypeWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignLinkTypeWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignLinkTypeWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/ai-insights/starters": {
      "get": {
        "tags": [
          "DeveloperAppDesignAiInsights"
        ],
        "summary": "List App Design AI Insights.",
        "operationId": "developerAppDesignAiInsightsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperAppDesignAiInsights"
        ],
        "summary": "Add for App Design AI Insights.",
        "operationId": "developerAppDesignAiInsightsAdd",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignAiInsightStarterWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignAiInsightStarterWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignAiInsightStarterWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/ai-insights/starters/{directiveId}": {
      "put": {
        "tags": [
          "DeveloperAppDesignAiInsights"
        ],
        "summary": "Save App Design AI Insights.",
        "operationId": "developerAppDesignAiInsightsSave",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "directiveId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignAiInsightStarterWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignAiInsightStarterWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignAiInsightStarterWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/files/personal-limit": {
      "get": {
        "tags": [
          "DeveloperAppDesignPersonalFiles"
        ],
        "summary": "Get App Design Personal Files.",
        "operationId": "developerAppDesignPersonalFilesGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.read"
        ]
      },
      "put": {
        "tags": [
          "DeveloperAppDesignPersonalFiles"
        ],
        "summary": "Save App Design Personal Files.",
        "operationId": "developerAppDesignPersonalFilesSave",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPersonalFileLimitWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPersonalFileLimitWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignPersonalFileLimitWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/vocabulary/{moduleKey}": {
      "put": {
        "tags": [
          "DeveloperAppDesignVocabulary"
        ],
        "summary": "Save App Design Vocabulary.",
        "operationId": "developerAppDesignVocabularySave",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignModuleVocabularyWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignModuleVocabularyWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignModuleVocabularyWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "design.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/debug/sessions": {
      "post": {
        "tags": [
          "DeveloperAppDesignDebug"
        ],
        "summary": "Start App Design Debug.",
        "operationId": "developerAppDesignDebugStart",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignDebugSessionStartRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignDebugSessionStartRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignDebugSessionStartRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "debug.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/debug/sessions/{debugSessionId}/events": {
      "post": {
        "tags": [
          "DeveloperAppDesignDebug"
        ],
        "summary": "Append for App Design Debug.",
        "operationId": "developerAppDesignDebugAppend",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "debugSessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignDebugEventWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignDebugEventWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AppDesignDebugEventWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "debug.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/debug/sessions/{debugSessionId}": {
      "get": {
        "tags": [
          "DeveloperAppDesignDebug"
        ],
        "summary": "Query for App Design Debug.",
        "operationId": "developerAppDesignDebugQuery",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "debugSessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "afterSequence",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": 0
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "debug.read"
        ]
      },
      "delete": {
        "tags": [
          "DeveloperAppDesignDebug"
        ],
        "summary": "Close for App Design Debug.",
        "operationId": "developerAppDesignDebugClose",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "debugSessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "debug.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/debug/sessions/history": {
      "get": {
        "tags": [
          "DeveloperAppDesignDebug"
        ],
        "summary": "History for App Design Debug.",
        "operationId": "developerAppDesignDebugHistory",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "afterSessionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "debug.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/design/debug/sessions/history/{debugSessionId}": {
      "get": {
        "tags": [
          "DeveloperAppDesignDebug"
        ],
        "summary": "History Timeline for App Design Debug.",
        "operationId": "developerAppDesignDebugHistoryTimeline",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "debugSessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "afterSequence",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DraftAppCredential": [ ]
          },
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "debug.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/openapi.json": {
      "get": {
        "tags": [
          "DeveloperAppOpenApi"
        ],
        "summary": "Get App OpenAPI.",
        "operationId": "developerAppOpenApiGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The base Developer API plus available installed-service endpoint projections. Pin the returned contract fingerprint and regenerate clients when it changes.",
            "headers": {
              "X-BuildWithHQ-Contract-SHA256": {
                "description": "Lowercase SHA-256 fingerprint for the complete projected contract set.",
                "required": true,
                "schema": {
                  "maxLength": 64,
                  "minLength": 64,
                  "pattern": "^[0-9a-f]{64}$",
                  "type": "string"
                }
              },
              "ETag": {
                "description": "Quoted strong entity tag containing the same contract SHA-256.",
                "required": true,
                "schema": {
                  "pattern": "^\"[0-9a-f]{64}\"$",
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "The user-specific projection must not be stored by shared or private caches.",
                "required": true,
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "appliances.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/assets": {
      "get": {
        "tags": [
          "DeveloperAssets"
        ],
        "summary": "Lists app-level design assets registered for this SaaS application.",
        "description": "Lists app-level design assets registered for this SaaS application. Requires assets.read. Uses bounded offset pages: pageNumber defaults to 1 (1–1000000), pageSize defaults to 100 (1–100). hasMore signals another page; ordering is CreatedUtc descending then AssetId descending. Concurrent inventory changes can move rows between pages; this is not a snapshot export.",
        "operationId": "developerAssetsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assetType",
            "in": "query",
            "schema": {
              "enum": [
                "document",
                "font",
                "image",
                "stylesheet",
                "video"
              ],
              "type": "string"
            }
          },
          {
            "name": "folderPath",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "maximum": 1000000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "assets.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperAssets"
        ],
        "summary": "Uploads an app-level design asset (maximum 25 MiB).",
        "description": "Uploads an app-level design asset (maximum 25 MiB). CSS is parsed under the SaaS stylesheet policy. Requires assets.write.",
        "operationId": "developerAssetsUpload",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "Asset bytes. Files ending in .dll, .com, or .exe are rejected.",
                    "format": "binary"
                  },
                  "name": {
                    "maxLength": 300,
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "description": {
                    "maxLength": 1000,
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "folderPath": {
                    "maxLength": 500,
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "assetType": {
                    "enum": [
                      "document",
                      "font",
                      "image",
                      "stylesheet",
                      "video"
                    ],
                    "type": "string"
                  },
                  "isPublic": {
                    "type": "boolean",
                    "description": "Private unless explicitly set to true.",
                    "default": false
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetMutationResponse"
                }
              }
            }
          },
          "413": {
            "description": "Payload Too Large",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "assets.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/assets/{assetId}/content": {
      "get": {
        "tags": [
          "DeveloperAssets"
        ],
        "summary": "Downloads a private or public app-level asset as an attachment.",
        "description": "Downloads a private or public app-level asset as an attachment. Requires assets.read.",
        "operationId": "developerAssetsContent",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "X-Content-Type-Options": {
                "description": "Always nosniff.",
                "schema": {
                  "enum": [
                    "nosniff"
                  ],
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Authenticated asset responses are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "assets.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/assets/{assetId}": {
      "delete": {
        "tags": [
          "DeveloperAssets"
        ],
        "summary": "Removes an app-level asset registration and its stored bytes.",
        "description": "Removes an app-level asset registration and its stored bytes. Requires assets.write.",
        "operationId": "developerAssetsDelete",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantAssetMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "assets.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/auth/context": {
      "get": {
        "tags": [
          "DeveloperAuthContext"
        ],
        "summary": "Get Auth Context.",
        "operationId": "developerAuthContextGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperAuthContextResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperAuthContextResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperAuthContextResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/connector-types": {
      "get": {
        "tags": [
          "DeveloperConnectorRegistry"
        ],
        "summary": "List Connector Registry.",
        "operationId": "developerConnectorRegistryList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperConnectorRegistryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperConnectorRegistryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperConnectorRegistryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/fields": {
      "get": {
        "tags": [
          "DeveloperCustomFields"
        ],
        "summary": "List Custom Fields.",
        "operationId": "developerCustomFieldsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantCustomFieldList"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantCustomFieldList"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantCustomFieldList"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperCustomFields"
        ],
        "summary": "Create Custom Fields.",
        "operationId": "developerCustomFieldsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCustomFieldRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCustomFieldRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCustomFieldRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldMutation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldMutation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldMutation"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/fields/{fieldDefinitionId}": {
      "put": {
        "tags": [
          "DeveloperCustomFields"
        ],
        "summary": "Update Custom Fields.",
        "operationId": "developerCustomFieldsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fieldDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCustomFieldRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCustomFieldRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCustomFieldRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldMutation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldMutation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldMutation"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/db/contracts": {
      "get": {
        "tags": [
          "DeveloperDatabaseContracts"
        ],
        "summary": "Get Database Contracts.",
        "operationId": "developerDatabaseContractsGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDatabaseContractSnapshot"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDatabaseContractSnapshot"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDatabaseContractSnapshot"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "contracts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/data-connectors": {
      "get": {
        "tags": [
          "DeveloperDataConnectors"
        ],
        "summary": "List Data Connectors.",
        "operationId": "developerDataConnectorsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperDataConnectors"
        ],
        "summary": "Create Data Connectors.",
        "operationId": "developerDataConnectorsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataConnectorWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataConnectorWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataConnectorWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/data-connectors/{connectorId}": {
      "put": {
        "tags": [
          "DeveloperDataConnectors"
        ],
        "summary": "Update Data Connectors.",
        "operationId": "developerDataConnectorsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "connectorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataConnectorWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataConnectorWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataConnectorWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      },
      "delete": {
        "tags": [
          "DeveloperDataConnectors"
        ],
        "summary": "Deactivate for Data Connectors.",
        "operationId": "developerDataConnectorsDeactivate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "connectorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/datarole-admin/admins": {
      "get": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "List Admins for Data Role Admin.",
        "operationId": "developerDataRoleAdminListAdmins",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleAdminListResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      },
      "put": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "Set Admin for Data Role Admin.",
        "operationId": "developerDataRoleAdminSetAdmin",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleAdminSetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleAdminSetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleAdminSetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleAdminSetResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/datarole-admin/roles": {
      "get": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "List Roles for Data Role Admin.",
        "operationId": "developerDataRoleAdminListRoles",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperAdministeredDataRoleListResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/datarole-admin/roles/{dataRoleId}/members": {
      "get": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "List Members for Data Role Admin.",
        "operationId": "developerDataRoleAdminListMembers",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleMemberPageResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      },
      "put": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "Set Member for Data Role Admin.",
        "operationId": "developerDataRoleAdminSetMember",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleMemberSetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleMemberSetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleMemberSetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleMemberSetResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/datarole-admin/roles/{dataRoleId}/candidates": {
      "get": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "List Candidates for Data Role Admin.",
        "operationId": "developerDataRoleAdminListCandidates",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleCandidatePageResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/datarole-admin/roles/{dataRoleId}": {
      "put": {
        "tags": [
          "DeveloperDataRoleAdmin"
        ],
        "summary": "Update Settings for Data Role Admin.",
        "operationId": "developerDataRoleAdminUpdateSettings",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleSettingsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleSettingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperDataRoleSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleSettingsResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts": {
      "post": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Creates the organization and first owner, or idempotently replays an existing matching signup.",
        "description": "Creates the organization and first owner, or idempotently replays an existing matching signup. Both outcomes return HTTP 201; inspect created (true for creation, false for replay). A conflicting owner subject returns HTTP 409.",
        "operationId": "developerHeadlessIdentityCreateAccount",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperTenantAccountRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperTenantAccountRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperTenantAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Organization result. created is true for the first creation and false for a matching idempotent replay.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantAccountResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantAccountResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantAccountResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.write"
        ]
      },
      "get": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "List Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "maxLength": 200,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "afterAppAccountId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/by-external-id": {
      "get": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Get Account for Headless Identity.",
        "operationId": "developerHeadlessIdentityGetAccount",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "providerKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalAccountId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantAccountResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantAccountResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantAccountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/users": {
      "get": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "List Users for Headless Identity.",
        "operationId": "developerHeadlessIdentityListUsers",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserCompleteListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserCompleteListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserCompleteListResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Create User for Headless Identity.",
        "operationId": "developerHeadlessIdentityCreateUser",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperTenantUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperTenantUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperTenantUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/users/{userId}": {
      "patch": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Update User for Headless Identity.",
        "operationId": "developerHeadlessIdentityUpdateUser",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "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/UpdateDeveloperTenantUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDeveloperTenantUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDeveloperTenantUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/users/{userId}/deactivate": {
      "post": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Deactivate User for Headless Identity.",
        "operationId": "developerHeadlessIdentityDeactivateUser",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "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/DeactivateDeveloperTenantUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateDeveloperTenantUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateDeveloperTenantUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantUserMutationResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/security-catalog": {
      "get": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Get Security Catalog for Headless Identity.",
        "operationId": "developerHeadlessIdentityGetSecurityCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantSecurityCatalogResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantSecurityCatalogResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTenantSecurityCatalogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/user-token-exchanges": {
      "post": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Exchange User Token for Headless Identity.",
        "operationId": "developerHeadlessIdentityExchangeUserToken",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeDeveloperUserTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeDeveloperUserTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeDeveloperUserTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDelegatedTokenResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDelegatedTokenResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDelegatedTokenResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.tokens.issue"
        ]
      }
    },
    "/v1/apps/{saasAppId}/delegated-user-tokens/{tokenId}/revoke": {
      "post": {
        "tags": [
          "DeveloperHeadlessIdentity"
        ],
        "summary": "Revoke User Token for Headless Identity.",
        "operationId": "developerHeadlessIdentityRevokeUserToken",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tokenId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTokenRevocationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTokenRevocationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperTokenRevocationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.tokens.issue"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbound-endpoints": {
      "get": {
        "tags": [
          "DeveloperInboundEndpoints"
        ],
        "summary": "List Inbound Endpoints.",
        "operationId": "developerInboundEndpointsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "inbound.write"
        ]
      },
      "post": {
        "tags": [
          "DeveloperInboundEndpoints"
        ],
        "summary": "Create Inbound Endpoints.",
        "operationId": "developerInboundEndpointsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCreateInboundEndpointRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCreateInboundEndpointRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCreateInboundEndpointRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "inbound.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbound-endpoints/{endpointId}/rotate": {
      "post": {
        "tags": [
          "DeveloperInboundEndpoints"
        ],
        "summary": "Rotate Inbound Endpoints.",
        "operationId": "developerInboundEndpointsRotate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "inbound.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbound-endpoints/{endpointId}": {
      "put": {
        "tags": [
          "DeveloperInboundEndpoints"
        ],
        "summary": "Update Inbound Endpoints.",
        "operationId": "developerInboundEndpointsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InboundEndpointUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InboundEndpointUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InboundEndpointUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InboundEndpointMutationReceipt"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundEndpointMutationReceipt"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundEndpointMutationReceipt"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "inbound.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbound-endpoints/{endpointId}/deactivate": {
      "post": {
        "tags": [
          "DeveloperInboundEndpoints"
        ],
        "summary": "Deactivate for Inbound Endpoints.",
        "operationId": "developerInboundEndpointsDeactivate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InboundEndpointDeactivateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InboundEndpointDeactivateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InboundEndpointDeactivateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InboundEndpointMutationReceipt"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundEndpointMutationReceipt"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundEndpointMutationReceipt"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "inbound.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/services": {
      "get": {
        "tags": [
          "DeveloperInstalledServices"
        ],
        "summary": "List Installed Services.",
        "operationId": "developerInstalledServicesList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceCatalogResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceCatalogResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceCatalogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "appliances.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/services/invocations/{invocationId}": {
      "get": {
        "tags": [
          "DeveloperInstalledServices"
        ],
        "summary": "Get Invocation for Installed Services.",
        "operationId": "developerInstalledServicesGetInvocation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "invocationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceTaskResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceTaskResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceTaskResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "appliances.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/services/invocations/{invocationId}:cancel": {
      "post": {
        "tags": [
          "DeveloperInstalledServices"
        ],
        "summary": "Cancel Invocation for Installed Services.",
        "operationId": "developerInstalledServicesCancelInvocation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "invocationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInstalledServiceTaskCancelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInstalledServiceTaskCancelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInstalledServiceTaskCancelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceTaskCancellationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceTaskCancellationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceTaskCancellationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "appliances.invoke"
        ]
      }
    },
    "/v1/apps/{saasAppId}/services/{serviceKey}/endpoints/{endpointKey}:invoke": {
      "post": {
        "tags": [
          "DeveloperInstalledServices"
        ],
        "summary": "Invoke Installed Services.",
        "operationId": "developerInstalledServicesInvoke",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "serviceKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endpointKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInstalledServiceInvokeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "appliances.invoke"
        ]
      }
    },
    "/v1/apps/{saasAppId}/logs/tail": {
      "get": {
        "tags": [
          "DeveloperLogs"
        ],
        "summary": "Tail for Logs.",
        "operationId": "developerLogsTail",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sinceUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "logs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/logs/search": {
      "get": {
        "tags": [
          "DeveloperLogs"
        ],
        "summary": "Search Logs.",
        "operationId": "developerLogsSearch",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sinceUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "logs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/logs/correlations/{logCorrelationId}": {
      "get": {
        "tags": [
          "DeveloperLogs"
        ],
        "summary": "Correlation for Logs.",
        "operationId": "developerLogsCorrelation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "logCorrelationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sinceUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLogQueryResult"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "logs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/oauth-connections": {
      "get": {
        "tags": [
          "DeveloperOAuthConnections"
        ],
        "summary": "List OAuth Connections.",
        "operationId": "developerOAuthConnectionsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/oauth-connections/authorizations": {
      "post": {
        "tags": [
          "DeveloperOAuthConnections"
        ],
        "summary": "Start Authorization for OAuth Connections.",
        "operationId": "developerOAuthConnectionsStartAuthorization",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOAuthAuthorizationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOAuthAuthorizationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOAuthAuthorizationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/oauth-connections/authorizations/complete": {
      "post": {
        "tags": [
          "DeveloperOAuthConnections"
        ],
        "summary": "Complete Authorization for OAuth Connections.",
        "operationId": "developerOAuthConnectionsCompleteAuthorization",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOAuthCompletionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOAuthCompletionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOAuthCompletionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/oauth-connections/{connectionId}/refresh": {
      "post": {
        "tags": [
          "DeveloperOAuthConnections"
        ],
        "summary": "Refresh for OAuth Connections.",
        "operationId": "developerOAuthConnectionsRefresh",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/oauth-connections/{connectionId}": {
      "delete": {
        "tags": [
          "DeveloperOAuthConnections"
        ],
        "summary": "Revoke OAuth Connections.",
        "operationId": "developerOAuthConnectionsRevoke",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}": {
      "get": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Get Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationAdminResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationAdminResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationAdminResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.read"
        ]
      },
      "patch": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Update Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDeveloperOrganizationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDeveloperOrganizationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDeveloperOrganizationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOrganizationMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/data-roles": {
      "put": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Upsert Data Role for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleUpsertDataRole",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDeveloperDataRoleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDeveloperDataRoleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDeveloperDataRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/locations": {
      "put": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Upsert Location for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleUpsertLocation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDeveloperLocationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDeveloperLocationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDeveloperLocationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLocationMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLocationMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperLocationMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/invitations": {
      "get": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "List Invitations for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleListInvitations",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationListResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Create Invitation for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleCreateInvitation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperInvitationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperInvitationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeveloperInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/invitations/{invitationId}/resend": {
      "post": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Resend Invitation for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleResendInvitation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInvitationRevisionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInvitationRevisionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInvitationRevisionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/invitations/{invitationId}/revoke": {
      "post": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Revoke Invitation for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleRevokeInvitation",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInvitationRevisionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInvitationRevisionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperInvitationRevisionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperInvitationMutationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-users.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/accounts/{appAccountId}/ownership-transfer": {
      "post": {
        "tags": [
          "DeveloperOrganizationLifecycle"
        ],
        "summary": "Transfer Ownership for Organization Lifecycle.",
        "operationId": "developerOrganizationLifecycleTransferOwnership",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferDeveloperOrganizationOwnershipRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferDeveloperOrganizationOwnershipRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TransferDeveloperOrganizationOwnershipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOwnershipTransferResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOwnershipTransferResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperOwnershipTransferResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "tenant-accounts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/outsideformsubmissions/endpoints": {
      "get": {
        "tags": [
          "DeveloperOutsideForms"
        ],
        "summary": "List Outside Forms.",
        "operationId": "developerOutsideFormsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpointPage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpointPage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpointPage"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "outside-forms.manage"
        ]
      },
      "post": {
        "tags": [
          "DeveloperOutsideForms"
        ],
        "summary": "Create Outside Forms.",
        "operationId": "developerOutsideFormsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OutsideFormEndpointCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OutsideFormEndpointCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OutsideFormEndpointCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpoint"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpoint"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpoint"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "outside-forms.manage"
        ]
      }
    },
    "/v1/apps/{saasAppId}/outsideformsubmissions/browser-challenge": {
      "get": {
        "tags": [
          "DeveloperOutsideForms"
        ],
        "summary": "Browser Challenge for Outside Forms.",
        "operationId": "developerOutsideFormsBrowserChallenge",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormBrowserChallengeConfiguration"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormBrowserChallengeConfiguration"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormBrowserChallengeConfiguration"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "outside-forms.manage"
        ]
      }
    },
    "/v1/apps/{saasAppId}/outsideformsubmissions/endpoints/{endpointId}": {
      "put": {
        "tags": [
          "DeveloperOutsideForms"
        ],
        "summary": "Update Outside Forms.",
        "operationId": "developerOutsideFormsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOutsideFormEndpointUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOutsideFormEndpointUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperOutsideFormEndpointUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpoint"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpoint"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormEndpoint"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "outside-forms.manage"
        ]
      }
    },
    "/v1/apps/{saasAppId}/outsideformsubmissions/{submissionId}": {
      "get": {
        "tags": [
          "DeveloperOutsideForms"
        ],
        "summary": "Get Submission for Outside Forms.",
        "operationId": "developerOutsideFormsGetSubmission",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "submissionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormSubmission"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormSubmission"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutsideFormSubmission"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "outside-forms.manage"
        ]
      }
    },
    "/v1/apps/{saasAppId}/payment-connectors": {
      "get": {
        "tags": [
          "DeveloperPaymentConnectors"
        ],
        "summary": "List Payment Connectors.",
        "operationId": "developerPaymentConnectorsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperPaymentConnectors"
        ],
        "summary": "Create Payment Connectors.",
        "operationId": "developerPaymentConnectorsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperPaymentConnectorWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperPaymentConnectorWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperPaymentConnectorWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/payment-connectors/{connectorId}": {
      "put": {
        "tags": [
          "DeveloperPaymentConnectors"
        ],
        "summary": "Update Payment Connectors.",
        "operationId": "developerPaymentConnectorsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "connectorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperPaymentConnectorWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperPaymentConnectorWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperPaymentConnectorWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      },
      "delete": {
        "tags": [
          "DeveloperPaymentConnectors"
        ],
        "summary": "Deactivate for Payment Connectors.",
        "operationId": "developerPaymentConnectorsDeactivate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "connectorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "connectors.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/presentation": {
      "get": {
        "tags": [
          "DeveloperPresentations"
        ],
        "summary": "Get Presentations.",
        "operationId": "developerPresentationsGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOrdersPresentationDocumentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOrdersPresentationDocumentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOrdersPresentationDocumentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects": {
      "get": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "List Objects for Records.",
        "operationId": "developerRecordsListObjects",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/record-scope/create-roles": {
      "get": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "List Create Scope Choices for Records.",
        "description": "Returns eligible DataRoles and locations for the verified tenant principal. The caller must explicitly choose Personal or one eligible DataRole and, when required, a location or All. No role or location is selected by this read. Creation rechecks the choice and permission inside SQL.",
        "operationId": "developerRecordsListCreateScopeChoices",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRecordCreateScopeChoicesResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/record-scope/view-roles": {
      "get": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "List View Scope Choices for Records.",
        "description": "Returns the verified tenant principal's own read DataRoles for a DataRole view filter (dataRoleId on module lists). Display only: no role is selected by this read, and each list rechecks a chosen dataRoleId against the principal's read roles inside SQL (403 otherwise).",
        "operationId": "developerRecordsListViewScopeChoices",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperDataRoleViewChoicesResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/schema": {
      "get": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Get Schema for Records.",
        "operationId": "developerRecordsGetSchema",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/records/search": {
      "post": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Search Records.",
        "operationId": "developerRecordsSearch",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperRecordSearchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperRecordSearchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperRecordSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/records/{recordId}": {
      "get": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Get Records.",
        "operationId": "developerRecordsGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      },
      "patch": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Update Records.",
        "operationId": "developerRecordsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperUpdateRecordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperUpdateRecordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperUpdateRecordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      },
      "delete": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Delete Records.",
        "operationId": "developerRecordsDelete",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The target, object or required revision is invalid, or requires its native lifecycle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The record revision is stale. Refresh and ask the user to confirm again before deleting.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/records": {
      "post": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Create Records.",
        "operationId": "developerRecordsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCreateRecordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCreateRecordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperCreateRecordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/objects/{objectKey}/records/{recordId}/relationships": {
      "get": {
        "tags": [
          "DeveloperRecords"
        ],
        "summary": "Relationships for Records.",
        "operationId": "developerRecordsRelationships",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "objectKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "relationKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/fields/{moduleKey}": {
      "get": {
        "tags": [
          "DeveloperRuntimeFields"
        ],
        "summary": "List Runtime Fields.",
        "operationId": "developerRuntimeFieldsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRuntimeFieldList"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRuntimeFieldList"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRuntimeFieldList"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "runtime.bindings.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/pages/{pageKey}": {
      "get": {
        "tags": [
          "DeveloperRuntimePages"
        ],
        "summary": "Get Body for Runtime Pages.",
        "operationId": "developerRuntimePagesGetBody",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeDesignTokens",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRuntimePageBody"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRuntimePageBody"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperRuntimePageBody"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "runtime.pages.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/pages/{pageKey}/bootstrap": {
      "get": {
        "tags": [
          "DeveloperRuntimePages"
        ],
        "summary": "Get Bootstrap for Runtime Pages.",
        "operationId": "developerRuntimePagesGetBootstrap",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantRuntimeBootstrap"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantRuntimeBootstrap"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantRuntimeBootstrap"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "runtime.pages.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/bindings": {
      "post": {
        "tags": [
          "DeveloperRuntimePages"
        ],
        "summary": "Resolve Bindings for Runtime Pages.",
        "operationId": "developerRuntimePagesResolveBindings",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantRuntimeDataBindingBatchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantRuntimeDataBindingBatchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantRuntimeDataBindingBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantRuntimeDataBindingBatch"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantRuntimeDataBindingBatch"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantRuntimeDataBindingBatch"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "runtime.bindings.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/pages/{pageKey}/forms/{formName}/submissions": {
      "post": {
        "tags": [
          "DeveloperRuntimePages"
        ],
        "summary": "Submit Form for Runtime Pages.",
        "operationId": "developerRuntimePagesSubmitForm",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "formName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantFormSubmissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantFormSubmissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantFormSubmissionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantFormSubmissionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantFormSubmissionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantFormSubmissionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/skills": {
      "get": {
        "tags": [
          "DeveloperSkills"
        ],
        "summary": "List Skills.",
        "operationId": "developerSkillsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperSkillListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperSkillListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperSkillListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "skills.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/skills/{skillVersionId}": {
      "get": {
        "tags": [
          "DeveloperSkills"
        ],
        "summary": "Get Skills.",
        "operationId": "developerSkillsGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "skillVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperSkillResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperSkillResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperSkillResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "skills.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw-agents/{goClawAgentId}/skills/{skillKey}": {
      "put": {
        "tags": [
          "DeveloperSkills"
        ],
        "summary": "Assign for Skills.",
        "operationId": "developerSkillsAssign",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "goClawAgentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "skillKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperGoClawSkillAssignmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperGoClawSkillAssignmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperGoClawSkillAssignmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperGoClawSkillAssignmentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperGoClawSkillAssignmentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperGoClawSkillAssignmentResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "skills.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/theme": {
      "get": {
        "tags": [
          "DeveloperThemes"
        ],
        "summary": "Reads the current app-wide mode, CSS variables, and design tokens.",
        "description": "Reads the current app-wide mode, CSS variables, and design tokens. Requires themes.read.",
        "operationId": "developerThemesGet",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperThemeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperThemeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperThemeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "themes.read"
        ]
      },
      "put": {
        "tags": [
          "DeveloperThemes"
        ],
        "summary": "Creates or version-fenced updates the app-wide theme used by the hosted runtime and portable bootstrap.",
        "description": "Creates or version-fenced updates the app-wide theme used by the hosted runtime and portable bootstrap. Requires themes.write.",
        "operationId": "developerThemesPut",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperThemeWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperThemeWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperThemeWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperThemeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperThemeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperThemeResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "themes.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/webhook-deliveries": {
      "get": {
        "tags": [
          "DeveloperWebhookDeliveries"
        ],
        "summary": "List Webhook Deliveries.",
        "operationId": "developerWebhookDeliveriesList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "subscriptionId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "beforeCreatedUtc",
            "in": "query",
            "schema": {
              "maxLength": 28,
              "minLength": 28,
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{7}Z$",
              "type": "string",
              "description": "UTC keyset cursor with exactly seven fractional digits. Supply together with beforeDeliveryId, unchanged from the previous page.",
              "format": "date-time"
            }
          },
          {
            "name": "beforeDeliveryId",
            "in": "query",
            "schema": {
              "pattern": "^[1-9]\\d{0,18}$",
              "type": "string",
              "description": "Exact positive SQL BIGINT decimal string (maximum 9223372036854775807); never convert to a JavaScript number."
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookDeliveryPageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookDeliveryPageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookDeliveryPageResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/webhook-deliveries/{deliveryId}/retry": {
      "post": {
        "tags": [
          "DeveloperWebhookDeliveries"
        ],
        "summary": "Retry for Webhook Deliveries.",
        "operationId": "developerWebhookDeliveriesRetry",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "deliveryId",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^[1-9]\\d{0,18}$",
              "type": "string",
              "description": "Exact positive SQL BIGINT decimal string (maximum 9223372036854775807); never convert to a JavaScript number."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookDeliveryRetryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookDeliveryRetryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookDeliveryRetryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/webhook-event-types": {
      "get": {
        "tags": [
          "DeveloperWebhookSubscriptions"
        ],
        "summary": "List Event Types for Webhook Subscriptions.",
        "operationId": "developerWebhookSubscriptionsListEventTypes",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookEventTypesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookEventTypesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookEventTypesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/webhooks": {
      "get": {
        "tags": [
          "DeveloperWebhookSubscriptions"
        ],
        "summary": "List Webhook Subscriptions.",
        "operationId": "developerWebhookSubscriptionsList",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.read"
        ]
      },
      "post": {
        "tags": [
          "DeveloperWebhookSubscriptions"
        ],
        "summary": "Create Webhook Subscriptions.",
        "operationId": "developerWebhookSubscriptionsCreate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperWebhookSubscriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperWebhookSubscriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperWebhookSubscriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionCreateResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionCreateResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/webhooks/{subscriptionId}": {
      "put": {
        "tags": [
          "DeveloperWebhookSubscriptions"
        ],
        "summary": "Update Webhook Subscriptions.",
        "operationId": "developerWebhookSubscriptionsUpdate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperWebhookSubscriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperWebhookSubscriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeveloperWebhookSubscriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionUpdateResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionUpdateResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSubscriptionUpdateResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/webhooks/{subscriptionId}/rotate-secret": {
      "post": {
        "tags": [
          "DeveloperWebhookSubscriptions"
        ],
        "summary": "Rotate Webhook Subscriptions.",
        "operationId": "developerWebhookSubscriptionsRotate",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSigningSecretRotationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSigningSecretRotationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperWebhookSigningSecretRotationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with current data. Refresh the affected state before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "The request cannot be processed under the current rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "webhooks.write"
        ]
      }
    },
    "/v1": {
      "get": {
        "tags": [
          "GatewayMetadata"
        ],
        "summary": "Get Metadata for Gateway Metadata.",
        "operationId": "gatewayMetadataGetMetadata",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayMetadataResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayMetadataResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayMetadataResponse"
                }
              }
            }
          }
        },
        "security": [ ]
      }
    },
    "/": {
      "get": {
        "tags": [
          "GatewayMetadata"
        ],
        "summary": "Get Root for Gateway Metadata.",
        "operationId": "gatewayMetadataGetRoot",
        "responses": {
          "302": {
            "description": "Found"
          }
        },
        "security": [ ]
      }
    },
    "/health": {
      "get": {
        "tags": [
          "GatewayMetadata"
        ],
        "summary": "Get Health for Gateway Metadata.",
        "operationId": "gatewayMetadataGetHealth",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayMetadataResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayMetadataResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayMetadataResponse"
                }
              }
            }
          }
        },
        "security": [ ]
      }
    },
    "/v1/platform/openapi": {
      "get": {
        "tags": [
          "PlatformOwnerOpenApi"
        ],
        "summary": "Get Document for Platform Owner OpenAPI.",
        "operationId": "platformOwnerOpenApiGetDocument",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonElement"
                }
              }
            }
          }
        },
        "security": [ ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "List Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplace",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownerUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "participantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activeWorkplaceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "rootRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ownerUserId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "ownerDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "rootTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rootModuleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rootModuleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastMeaningfulActivityUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "atRiskUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "staleUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "waitingUntilUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "waitingReason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "resolvedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "participantCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "goClawCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "pendingInboxCount": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      },
      "post": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Create Active Workplace.",
        "operationId": "developerPostV1AppsModulesActiveWorkplace",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "created"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "participantType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "participantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": "boolean",
                      "description": "True for creation; false is a legitimate existing unresolved-workplace replay."
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "eventAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/lego/catalog": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Lego Catalog for Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplaceLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/lego/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Lego Lookup for Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplaceLegoLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/lego/presentation": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Lego Presentation for Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplaceLegoPresentation",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activeWorkplaceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "rootRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ownerUserId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "ownerDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "rootTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rootModuleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rootModuleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastMeaningfulActivityUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "atRiskUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "staleUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "waitingUntilUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "waitingReason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "resolvedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "participantCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "goClawCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "pendingInboxCount": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Get Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuid",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "rootRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "displayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ownerUserId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "ownerDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "priority": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "graphScope": { },
                    "staleAfterMinutes": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "warningBeforeStaleMinutes": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lastMeaningfulActivityUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "atRiskUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "staleUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "waitingUntilUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "waitingReason": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "resolvedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "rootRecord": {
                      "type": "object",
                      "properties": {
                        "recordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "depth": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "title": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "recordStatus": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "moduleKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "moduleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "locationId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "locationName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "canEdit": {
                          "type": [
                            "null",
                            "boolean"
                          ]
                        }
                      }
                    },
                    "graph": {
                      "type": "object",
                      "properties": {
                        "snapshotAtUtc": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "date-time"
                        },
                        "storedNodeCount": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "nodes": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "object",
                            "properties": {
                              "recordId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "depth": {
                                "type": [
                                  "null",
                                  "integer"
                                ],
                                "format": "int32"
                              },
                              "title": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "recordStatus": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "moduleKey": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "moduleName": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "locationId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              },
                              "locationName": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "canEdit": {
                                "type": [
                                  "null",
                                  "boolean"
                                ]
                              }
                            }
                          }
                        },
                        "edges": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "object",
                            "properties": {
                              "recordRelationId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "fromRecordId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "toRecordId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "sortOrder": {
                                "type": "integer",
                                "format": "int32"
                              },
                              "relationKey": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    "participants": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activeWorkplaceParticipantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "participantType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "participantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "effectiveUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "roleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responsibilityText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isOwner": {
                            "type": "boolean"
                          },
                          "isWatcher": {
                            "type": "boolean"
                          },
                          "canAct": {
                            "type": "boolean"
                          },
                          "eventSubscriptions": { },
                          "allowedActions": { },
                          "approvalPolicy": { },
                          "escalationPolicy": { },
                          "joinedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "activity": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activeWorkplaceEventId": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "eventAtUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "actorType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "actorId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "actorDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "eventType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "eventData": { },
                          "isMeaningfulActivity": {
                            "type": "boolean"
                          },
                          "correlationId": {
                            "type": "string",
                            "format": "uuid"
                          }
                        }
                      }
                    },
                    "pendingInboxCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "playbackStartUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "playbackEndUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      },
      "patch": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Update Active Workplace.",
        "operationId": "developerPatchV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuid",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "updatedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "participantType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "participantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Returned UTC timestamp. Preserve this opaque string and all seven fractional digits."
                    },
                    "eventAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/status": {
      "post": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Set Status for Active Workplace.",
        "operationId": "developerPostV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidStatus",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "status",
                    "updatedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "participantType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "participantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "enum": [
                        "Active",
                        "Waiting",
                        "AtRisk",
                        "Stale",
                        "Dormant",
                        "Resolved"
                      ],
                      "type": "string"
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Returned UTC timestamp. Preserve this opaque string and all seven fractional digits."
                    },
                    "eventAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/participants/catalog": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Participant Catalog for Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidParticipantsCatalog",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "users": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "participantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "effectiveUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "version": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          }
                        }
                      }
                    },
                    "goClaws": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "participantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "effectiveUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "version": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          }
                        }
                      }
                    },
                    "workflows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "participantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "effectiveUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "version": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/participants": {
      "post": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Add Participant for Active Workplace.",
        "operationId": "developerPostV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidParticipants",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceParticipantRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceParticipantRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceParticipantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "activeWorkplaceParticipantId",
                    "participantType",
                    "participantId",
                    "created"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "participantType": {
                      "enum": [
                        "User",
                        "GoClaw",
                        "Workflow"
                      ],
                      "type": "string"
                    },
                    "participantId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": "boolean",
                      "description": "False preserves the existing participant without adding another membership."
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "eventAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/participants/{activeWorkplaceParticipantId}": {
      "delete": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Remove Participant for Active Workplace.",
        "operationId": "developerDeleteV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidParticipantsActiveWorkplaceParticipantIdGuid",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "activeWorkplaceParticipantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "activeWorkplaceParticipantId",
                    "removed"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "participantType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "participantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "enum": [
                        true
                      ],
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "eventAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/activity": {
      "post": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Record Activity for Active Workplace.",
        "operationId": "developerPostV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidActivity",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActiveWorkplaceActivityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "activeWorkplaceEventId",
                    "eventAtUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "maximum": 9223372036854775807,
                      "minimum": 1,
                      "type": "integer",
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "participantType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "participantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "eventAtUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Returned UTC timestamp. Preserve this opaque string and all seven fractional digits."
                    },
                    "snapshotAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/graph/refresh": {
      "post": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Refresh Graph for Active Workplace.",
        "operationId": "developerPostV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidGraphRefresh",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "activeWorkplaceId",
                    "activeWorkplaceSnapshotId",
                    "snapshotAtUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "activeWorkplaceParticipantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "activeWorkplaceEventId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "activeWorkplaceSnapshotId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "participantType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "participantId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "eventAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Returned UTC timestamp. Preserve this opaque string and all seven fractional digits. The current SQL refresh clock can precede the referenced snapshot row; do not use it as proof that playback includes that snapshot."
                    }
                  },
                  "description": "The operation's required success receipt. A failure after dispatch does not establish rollback; reconcile the outcome before repeating a mutation."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/active-workplace/{activeWorkplaceId}/playback": {
      "get": {
        "tags": [
          "TenantActiveWorkplace"
        ],
        "summary": "Playback for Active Workplace.",
        "operationId": "developerGetV1AppsModulesActiveWorkplaceActiveWorkplaceIdGuidPlayback",
        "parameters": [
          {
            "name": "activeWorkplaceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "at",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activeWorkplaceId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "asOfUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "snapshotAtUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "readOnly": {
                      "type": "boolean"
                    },
                    "displayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ownerUserId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "ownerDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "priority": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "graphScope": { },
                    "lastMeaningfulActivityUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "waitingUntilUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "waitingReason": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "resolvedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "graph": {
                      "type": "object",
                      "properties": {
                        "snapshotAtUtc": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "date-time"
                        },
                        "storedNodeCount": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "nodes": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "object",
                            "properties": {
                              "recordId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "depth": {
                                "type": [
                                  "null",
                                  "integer"
                                ],
                                "format": "int32"
                              },
                              "title": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "recordStatus": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "moduleKey": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "moduleName": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "locationId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              },
                              "locationName": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "canEdit": {
                                "type": [
                                  "null",
                                  "boolean"
                                ]
                              }
                            }
                          }
                        },
                        "edges": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "object",
                            "properties": {
                              "recordRelationId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "fromRecordId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "toRecordId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "sortOrder": {
                                "type": "integer",
                                "format": "int32"
                              },
                              "relationKey": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    "participants": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activeWorkplaceParticipantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "participantType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "participantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "effectiveUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "roleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responsibilityText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isOwner": {
                            "type": "boolean"
                          },
                          "isWatcher": {
                            "type": "boolean"
                          },
                          "canAct": {
                            "type": "boolean"
                          },
                          "eventSubscriptions": { },
                          "allowedActions": { },
                          "approvalPolicy": { },
                          "escalationPolicy": { },
                          "joinedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "activity": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activeWorkplaceEventId": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "eventAtUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "actorType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "actorId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "actorDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "eventType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "eventData": { },
                          "isMeaningfulActivity": {
                            "type": "boolean"
                          },
                          "correlationId": {
                            "type": "string",
                            "format": "uuid"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.active-workplace.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/ai-insights": {
      "get": {
        "tags": [
          "TenantAiInsights"
        ],
        "summary": "List AI Insights.",
        "operationId": "developerGetV1AppsModulesAiInsights",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "severity",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "insightType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unviewedOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "hiddenOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "includeSnoozed",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "unviewedCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "pinnedCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "insightId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceModuleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "insightType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "insightCategory": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recommendedAction": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priorityScore": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "confidenceScore": {
                            "type": [
                              "null",
                              "number"
                            ],
                            "format": "double"
                          },
                          "severity": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceRecordTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "hasViewed": {
                            "type": "boolean"
                          },
                          "isPinned": {
                            "type": "boolean"
                          },
                          "isHidden": {
                            "type": "boolean"
                          },
                          "snoozedUntilUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "generatedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.ai-insights.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/ai-insights/{insightId}": {
      "get": {
        "tags": [
          "TenantAiInsights"
        ],
        "summary": "Get AI Insights.",
        "operationId": "developerGetV1AppsModulesAiInsightsInsightIdGuid",
        "parameters": [
          {
            "name": "insightId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "evidenceCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "evidence": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "evidenceId": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "evidenceType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceModuleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "pageNumber": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "snippet": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "insightId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceModuleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "insightType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "insightCategory": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recommendedAction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "priorityScore": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "confidenceScore": {
                      "type": [
                        "null",
                        "number"
                      ],
                      "format": "double"
                    },
                    "severity": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "sourceRecordTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "hasViewed": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": "boolean"
                    },
                    "isHidden": {
                      "type": "boolean"
                    },
                    "snoozedUntilUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "generatedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.ai-insights.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/ai-insights/{insightId}/state": {
      "put": {
        "tags": [
          "TenantAiInsights"
        ],
        "summary": "Set State for AI Insights.",
        "operationId": "developerPutV1AppsModulesAiInsightsInsightIdGuidState",
        "parameters": [
          {
            "name": "insightId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AiInsightStateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AiInsightStateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AiInsightStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "insightId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "hasViewed": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": "boolean"
                    },
                    "isHidden": {
                      "type": "boolean"
                    },
                    "snoozedUntilUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.ai-insights.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar": {
      "get": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "List Calendar.",
        "operationId": "developerGetV1AppsModulesCalendar",
        "parameters": [
          {
            "name": "windowStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "windowEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ownerUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 200
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "windowStart": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "windowEnd": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "eventId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "startUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "endUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "isAllDay": {
                            "type": "boolean"
                          },
                          "locationText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "colorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ownerUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "ownerDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recurrenceRule": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recurrenceEnd": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "isPrivate": {
                            "type": "boolean"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                            "type": "string",
                            "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.read"
        ]
      },
      "post": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Create Calendar.",
        "operationId": "developerPostV1AppsModulesCalendar",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "relatedRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "relationDirection": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "relation": {
                      "required": [
                        "contractVersion",
                        "recordRelationId",
                        "fromRecordId",
                        "toRecordId",
                        "relationKey",
                        "created"
                      ],
                      "type": "object",
                      "properties": {
                        "contractVersion": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "recordRelationId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "fromRecordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "toRecordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "relationKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "created": {
                          "type": "boolean"
                        }
                      }
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "eventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity Error code: record_graph_link_type_mismatch.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision. Error code: record_graph_link_type_one_only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "calendar_audit_unavailable: the business operation was not started. calendar_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the event before another explicit attempt. Never automatically replay a Calendar mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar/{recordId}": {
      "get": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Get Calendar.",
        "operationId": "developerGetV1AppsModulesCalendarRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordRevisionUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "reservationRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationLat": {
                      "type": [
                        "null",
                        "number"
                      ],
                      "format": "double"
                    },
                    "locationLng": {
                      "type": [
                        "null",
                        "number"
                      ],
                      "format": "double"
                    },
                    "reminderMinutes": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "videoConferenceUrl": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "attendeeCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "resourceBookingCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "attendees": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "eventAttendeeId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "userId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "externalEmail": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responseStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isOrganizer": {
                            "type": "boolean"
                          },
                          "isOptional": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ],
                            "description": "Exact custom calendar date and time, stored as timezone-unspecified DATETIME2(7). Preserve the returned text and up to seven fractional digits. Do not append a zone, convert through JavaScript Date, or round with toISOString(). When editing an unzoned value, send an unzoned value. This is not an event UTC instant or a revision."
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "eventId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "startUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "endUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isAllDay": {
                      "type": "boolean"
                    },
                    "locationText": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "colorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ownerUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "ownerDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recurrenceRule": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recurrenceEnd": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isPrivate": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.read"
        ]
      },
      "put": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Update Calendar.",
        "operationId": "developerPutV1AppsModulesCalendarRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "relatedRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "relationDirection": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "relation": {
                      "required": [
                        "contractVersion",
                        "recordRelationId",
                        "fromRecordId",
                        "toRecordId",
                        "relationKey",
                        "created"
                      ],
                      "type": "object",
                      "properties": {
                        "contractVersion": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "recordRelationId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "fromRecordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "toRecordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "relationKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "created": {
                          "type": "boolean"
                        }
                      }
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "eventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "calendar_audit_unavailable: the business operation was not started. calendar_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the event before another explicit attempt. Never automatically replay a Calendar mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Remove Calendar.",
        "description": "Soft-deletes an authorized Calendar event using its latest expectedUpdatedUtc revision and retains its deletion audit/history. Missing or invalid input returns 400 calendar_invalid_request; an unavailable event returns concealed 404 calendar_not_found; a stale revision returns 409 calendar_conflict. Refresh the event and ask the user to confirm again after a conflict; do not blindly retry deletion with a new revision.",
        "operationId": "developerDeleteV1AppsModulesCalendarRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current event.updatedUtc revision. Preserve the exact string and all fractional seconds; never convert it to a JavaScript Date or call toISOString().",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
              "type": "string",
              "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "recordId",
                    "objectKey",
                    "deleted",
                    "correlationId"
                  ],
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar/capabilities": {
      "get": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Capabilities for Calendar.",
        "operationId": "developerGetV1AppsModulesCalendarCapabilities",
        "parameters": [
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Favorite for Calendar.",
        "operationId": "developerPutV1AppsModulesCalendarRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CalendarFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "relatedRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "relationDirection": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "relation": {
                      "required": [
                        "contractVersion",
                        "recordRelationId",
                        "fromRecordId",
                        "toRecordId",
                        "relationKey",
                        "created"
                      ],
                      "type": "object",
                      "properties": {
                        "contractVersion": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "recordRelationId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "fromRecordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "toRecordId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "relationKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "created": {
                          "type": "boolean"
                        }
                      }
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "eventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar/lego/catalog": {
      "get": {
        "tags": [
          "TenantCalendar"
        ],
        "summary": "Lego Catalog for Calendar.",
        "operationId": "developerGetV1AppsModulesCalendarLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar/export/capability": {
      "get": {
        "tags": [
          "TenantCalendarExport"
        ],
        "summary": "Get Export Capability for Calendar Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesCalendarExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/calendar/export": {
      "get": {
        "tags": [
          "TenantCalendarExport"
        ],
        "summary": "Export Calendar Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesCalendarExport",
        "parameters": [
          {
            "name": "windowStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "windowEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ownerUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.calendar.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms": {
      "get": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "List Chat Rooms.",
        "operationId": "developerGetV1AppsModulesChatRooms",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "chatRoomId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "roomName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "roomType": {
                            "type": "integer",
                            "format": "uint8"
                          },
                          "isArchived": {
                            "type": "boolean"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isAdmin": {
                            "type": "boolean"
                          },
                          "isMuted": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "memberCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "unreadCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "lastMessageText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastMessageUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "lastMessageByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.read"
        ]
      },
      "post": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Create Chat Rooms.",
        "operationId": "developerPostV1AppsModulesChatRooms",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "chat_room_audit_unavailable: the business operation was not started. chat_room_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the room before another explicit attempt. Never automatically replay a room or message mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}": {
      "get": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Get Chat Rooms.",
        "operationId": "developerGetV1AppsModulesChatRoomsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "beforeCreatedUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "beforeChatMessageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "messagePageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "messagePageSize",
                    "hasEarlierMessages"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "canPost": {
                      "type": "boolean"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "members": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "userId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isAdmin": {
                            "type": "boolean"
                          },
                          "isMuted": {
                            "type": "boolean"
                          },
                          "joinedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "isCurrentUser": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "messagePageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasEarlierMessages": {
                      "type": "boolean"
                    },
                    "nextBeforeCreatedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextBeforeChatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messages": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "chatMessageId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "messageText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "postedByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "postedByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "parentChatMessageId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "attachedFileId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "isPinned": {
                            "type": "boolean"
                          },
                          "editedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "canDelete": {
                            "type": "boolean"
                          },
                          "reactions": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "reaction": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "reactionCount": {
                                  "type": "integer",
                                  "format": "int32"
                                },
                                "reactedByCurrentUser": {
                                  "type": "boolean"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "chatRoomId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "roomName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "roomType": {
                      "type": "integer",
                      "format": "uint8"
                    },
                    "isArchived": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isAdmin": {
                      "type": "boolean"
                    },
                    "isMuted": {
                      "type": "boolean"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "memberCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lastMessageText": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "lastMessageUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastMessageByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.read"
        ]
      },
      "put": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Update Chat Rooms.",
        "description": "Ordinary edits retain visibility; create-only scope fields are rejected even when null.",
        "operationId": "developerPutV1AppsModulesChatRoomsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "chat_room_audit_unavailable: the business operation was not started. chat_room_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the room before another explicit attempt. Never automatically replay a room or message mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Remove Chat Rooms.",
        "operationId": "developerDeleteV1AppsModulesChatRoomsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/lego/catalog": {
      "get": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Lego Catalog for Chat Rooms.",
        "operationId": "developerGetV1AppsModulesChatRoomsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/messages": {
      "post": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Post Message for Chat Rooms.",
        "operationId": "developerPostV1AppsModulesChatRoomsRecordIdGuidMessages",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "chat_room_audit_unavailable: the business operation was not started. chat_room_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the room before another explicit attempt. Never automatically replay a room or message mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/messages/{chatMessageId}": {
      "put": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Update Message for Chat Rooms.",
        "operationId": "developerPutV1AppsModulesChatRoomsRecordIdGuidMessagesChatMessageIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "chatMessageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "chat_room_audit_unavailable: the business operation was not started. chat_room_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the room before another explicit attempt. Never automatically replay a room or message mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Remove Message for Chat Rooms.",
        "operationId": "developerDeleteV1AppsModulesChatRoomsRecordIdGuidMessagesChatMessageIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "chatMessageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current target.updatedUtc revision. Preserve the exact string and all fractional seconds; never round it through a JavaScript Date. On 409, refresh and ask the user to confirm again before deleting.",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string",
              "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "chat_room_audit_unavailable: the business operation was not started. chat_room_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the room before another explicit attempt. Never automatically replay a room or message mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/messages/{chatMessageId}/reaction": {
      "put": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Reaction for Chat Rooms.",
        "operationId": "developerPutV1AppsModulesChatRoomsRecordIdGuidMessagesChatMessageIdGuidReaction",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "chatMessageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatReactionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatReactionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatReactionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/members/{memberUserId}": {
      "put": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Member for Chat Rooms.",
        "operationId": "developerPutV1AppsModulesChatRoomsRecordIdGuidMembersMemberUserIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "memberUserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomMemberWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomMemberWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomMemberWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/members/lookup": {
      "get": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Member Lookup for Chat Rooms.",
        "operationId": "developerGetV1AppsModulesChatRoomsRecordIdGuidMembersLookup",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topN",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "users": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/read": {
      "put": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Mark Read for Chat Rooms.",
        "operationId": "developerPutV1AppsModulesChatRoomsRecordIdGuidRead",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/chat-rooms/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantChatRooms"
        ],
        "summary": "Favorite for Chat Rooms.",
        "operationId": "developerPutV1AppsModulesChatRoomsRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRoomFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chatRoomId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chatMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messageRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "memberUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "createdUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastReadMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReadUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMember": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isAdmin": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isMuted": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reaction": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "reactionCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.chat-rooms.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/runs/{checklistRunId}/history": {
      "get": {
        "tags": [
          "TenantChecklistRunHistory"
        ],
        "summary": "Read Checklist Run History.",
        "description": "Reads metadata-only Checklist history after current native Core authorization, then rechecks that authorization after the Logs read. Personal ownership and shared DataRole/location permissions apply. Answers, proof contents and decision reasons are excluded. Event IDs and cursors are exact positive BIGINT strings; preserve them unchanged.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsRunsChecklistRunIdGuidHistory",
        "parameters": [
          {
            "name": "checklistRunId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "beforeId",
            "in": "query",
            "schema": {
              "maxLength": 19,
              "pattern": "^[1-9][0-9]{0,18}$",
              "type": "string",
              "description": "Exact positive SQL BIGINT, at most 9223372036854775807. Keep as a string."
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "hasMore",
                    "nextBeforeId",
                    "items",
                    "saasAppId",
                    "appAccountId",
                    "targetRecordId",
                    "checklistRunId",
                    "correlationId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextBeforeId": {
                      "maxLength": 19,
                      "pattern": "^[1-9][0-9]{0,18}$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Exact positive SQL BIGINT, at most 9223372036854775807. Keep as a string."
                    },
                    "items": {
                      "maxItems": 100,
                      "type": "array",
                      "items": {
                        "required": [
                          "eventId",
                          "actionKey",
                          "actorUserId",
                          "occurredUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "eventId": {
                            "maxLength": 19,
                            "minLength": 1,
                            "pattern": "^[1-9][0-9]{0,18}$",
                            "type": "string",
                            "description": "Exact positive SQL BIGINT, at most 9223372036854775807. Keep as a string."
                          },
                          "actionKey": {
                            "minLength": 1,
                            "enum": [
                              "start",
                              "item_update",
                              "proof_attach",
                              "proof_remove",
                              "submit",
                              "cancel",
                              "approve",
                              "reject"
                            ],
                            "type": "string"
                          },
                          "actorUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "occurredUtc": {
                            "minLength": 1,
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                            "type": "string",
                            "description": "UTC metadata timestamp. Preserve every fractional digit."
                          }
                        }
                      }
                    },
                    "saasAppId": {
                      "minLength": 1,
                      "type": "string",
                      "format": "uuid"
                    },
                    "appAccountId": {
                      "minLength": 1,
                      "type": "string",
                      "format": "uuid"
                    },
                    "targetRecordId": {
                      "minLength": 1,
                      "type": "string",
                      "format": "uuid"
                    },
                    "checklistRunId": {
                      "minLength": 1,
                      "type": "string",
                      "format": "uuid"
                    },
                    "correlationId": {
                      "minLength": 1,
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/lego/catalog": {
      "get": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Get Lego Catalog for Checklists.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Get Lego Lookup for Checklists.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/templates": {
      "get": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "List Templates for Checklists.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsTemplates",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "checklistTemplateId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "name": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "approvalWorkflowDefinitionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "itemCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      },
      "post": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Create Template for Checklists.",
        "operationId": "developerPostV1AppsModulesChecklistsSignoffsTemplates",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistTemplateCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistTemplateCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistTemplateCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/templates/{checklistTemplateId}": {
      "get": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Get Template for Checklists.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsTemplatesChecklistTemplateIdGuid",
        "parameters": [
          {
            "name": "checklistTemplateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "checklistTemplateItemId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "itemKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "instructions": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responseType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "evidenceRequirement": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "minimumEvidenceCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    },
                    "checklistTemplateId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "name": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": "boolean"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      },
      "put": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Update Template for Checklists.",
        "operationId": "developerPutV1AppsModulesChecklistsSignoffsTemplatesChecklistTemplateIdGuid",
        "parameters": [
          {
            "name": "checklistTemplateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistTemplateUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistTemplateUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistTemplateUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Remove Template for Checklists.",
        "operationId": "developerDeleteV1AppsModulesChecklistsSignoffsTemplatesChecklistTemplateIdGuid",
        "parameters": [
          {
            "name": "checklistTemplateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "checklistTemplateId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/runs": {
      "get": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "List Runs for Checklists.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsRuns",
        "parameters": [
          {
            "name": "targetRecordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "checklistRunId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "targetRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "targetTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "targetModuleId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "checklistTemplateId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "templateName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "revision": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "itemCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "completedItemCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "inboxItemId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "inboxActivityVersion": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int64"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      },
      "post": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Start Run for Checklists.",
        "operationId": "developerPostV1AppsModulesChecklistsSignoffsRuns",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistRunStartRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistRunStartRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistRunStartRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "checklistRunId",
                    "status",
                    "revision",
                    "updatedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "enum": [
                        "Draft"
                      ],
                      "type": "string"
                    },
                    "revision": {
                      "maximum": 1,
                      "minimum": 1,
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC start revision; preserve every fractional digit."
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/runs/{checklistRunId}": {
      "get": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Get Run for Checklists.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsRunsChecklistRunIdGuid",
        "parameters": [
          {
            "name": "checklistRunId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "submittedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "signedOffByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "signedOffByName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "signedOffUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "rejectedByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "rejectedByName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "rejectedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "rejectionReason": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "checklistRunItemId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "itemKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "instructions": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responseType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "evidenceRequirement": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "minimumEvidenceCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responseText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "completedByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "completedByName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "completedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "revision": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "evidence": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "checklistItemEvidenceId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "proofKind": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "caption": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "fileRecordId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "fileName": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "contentType": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "sizeBytes": {
                                  "type": [
                                    "null",
                                    "integer"
                                  ],
                                  "format": "int64"
                                },
                                "addedByUserId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                },
                                "addedByName": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "createdUtc": {
                                  "type": "string",
                                  "format": "date-time"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "checklistRunId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "targetRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "targetTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "targetModuleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "checklistTemplateId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "templateName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "itemCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "completedItemCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/items/{checklistRunItemId}": {
      "put": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Update Item for Checklists.",
        "operationId": "developerPutV1AppsModulesChecklistsSignoffsItemsChecklistRunItemIdGuid",
        "parameters": [
          {
            "name": "checklistRunItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/items/{checklistRunItemId}/proof": {
      "post": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Attach Proof for Checklists.",
        "operationId": "developerPostV1AppsModulesChecklistsSignoffsItemsChecklistRunItemIdGuidProof",
        "parameters": [
          {
            "name": "checklistRunItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistProofAttachRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistProofAttachRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistProofAttachRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/proof/{checklistItemEvidenceId}": {
      "delete": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Remove Proof for Checklists.",
        "operationId": "developerDeleteV1AppsModulesChecklistsSignoffsProofChecklistItemEvidenceIdGuid",
        "parameters": [
          {
            "name": "checklistItemEvidenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/runs/{checklistRunId}/submit": {
      "post": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Submit for Checklists.",
        "operationId": "developerPostV1AppsModulesChecklistsSignoffsRunsChecklistRunIdGuidSubmit",
        "parameters": [
          {
            "name": "checklistRunId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistSubmitRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistSubmitRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistSubmitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/runs/{checklistRunId}/cancel": {
      "post": {
        "tags": [
          "TenantChecklists"
        ],
        "summary": "Cancel Run for Checklists.",
        "operationId": "developerPostV1AppsModulesChecklistsSignoffsRunsChecklistRunIdGuidCancel",
        "parameters": [
          {
            "name": "checklistRunId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistCancelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistCancelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistCancelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checklistTemplateId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "approvalWorkflowDefinitionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "itemCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistRunItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "checklistItemEvidenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "fileRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "proofKind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "revision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "itemRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "runRevision": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "workflowRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workflowRunStepId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "inboxActivityVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "wasReplay": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/export/capability": {
      "get": {
        "tags": [
          "TenantChecklistsExport"
        ],
        "summary": "Get Export Capability for Checklists Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/checklists-signoffs/export": {
      "get": {
        "tags": [
          "TenantChecklistsExport"
        ],
        "summary": "Export Checklists Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesChecklistsSignoffsExport",
        "parameters": [
          {
            "name": "targetRecordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.checklists-signoffs.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/schema": {
      "get": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Schema for Company News.",
        "operationId": "developerGetV1AppsModulesCompanyNewsSchema",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "catalogId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "catalogVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "resources": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldCatalogId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "bindingIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    "fieldCatalogs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldCatalogId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fields": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "key": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "type": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "required": {
                                  "type": "boolean"
                                },
                                "readable": {
                                  "type": "boolean"
                                },
                                "writable": {
                                  "type": "boolean"
                                },
                                "maximumLength": {
                                  "type": [
                                    "null",
                                    "integer"
                                  ],
                                  "format": "int32"
                                },
                                "minimum": {
                                  "type": [
                                    "null",
                                    "number"
                                  ],
                                  "format": "double"
                                },
                                "maximum": {
                                  "type": [
                                    "null",
                                    "number"
                                  ],
                                  "format": "double"
                                },
                                "choiceIds": {
                                  "type": [
                                    "null",
                                    "array"
                                  ],
                                  "items": {
                                    "type": "string",
                                    "format": "uuid"
                                  }
                                },
                                "lookupId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "bindings": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "bindingId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "presentationKind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "defaultPageSize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "maximumPageSize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "filterFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "sortFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "kind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "inputFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "inputConstraints": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "maximumLength": {
                                  "type": "integer",
                                  "format": "int32"
                                }
                              }
                            }
                          },
                          "requiresRecordId": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "result": {
                            "type": "object",
                            "properties": {
                              "returnsRevision": {
                                "type": "boolean"
                              },
                              "canConflict": {
                                "type": "boolean"
                              },
                              "refreshBindingId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              }
                            }
                          }
                        }
                      }
                    },
                    "components": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "componentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rendererKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "trustLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "resourceId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "bindingId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "fieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "defaultProps": { }
                        }
                      }
                    },
                    "vocabularies": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "vocabularyId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "fieldId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "allowsCustomValue": {
                            "type": "boolean"
                          },
                          "choices": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "choiceId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "value": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "lookups": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "lookupId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "kind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "maximumPageSize": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Lookup for Company News.",
        "operationId": "developerGetV1AppsModulesCompanyNewsLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lookupId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "optionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news": {
      "get": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "List Company News.",
        "description": "Continue with pageNumber + 1 while hasMore is true, preserving pageSize, filters and identity. When totalIsExact is false, totalRecords and totalPages are lower bounds; never use the initial totalPages as a loop limit. This is a current authorized browse view, not a snapshot or a complete export. Concurrent changes can move rows between pages. The Contacts browseLimit caps its browse window; reaching it does not certify collection completeness.",
        "operationId": "developerGetV1AppsModulesCompanyNews",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeDrafts",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "canEdit",
                    "canCreate",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "description": "Known authorized record count. When totalIsExact is false this is a lower bound, not the collection size.",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "description": "Pages derived from totalRecords. When totalIsExact is false this is a lower bound and not a stopping condition. Continue using hasMore.",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean",
                      "description": "True only when totalRecords and totalPages are exact for this response. A false value must never be presented as an exact count."
                    },
                    "hasMore": {
                      "type": "boolean",
                      "description": "When true, request pageNumber + 1 with the same pageSize, filters and identity. Stop when false; do not stop at the initial totalPages."
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "required": [
                          "companyNewsId",
                          "recordId",
                          "title",
                          "isPublished",
                          "updatedUtc",
                          "isFavorite"
                        ],
                        "type": "object",
                        "properties": {
                          "companyNewsId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "body": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "publishUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "expiresUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "isPublished": {
                            "type": "boolean"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.read"
        ]
      },
      "post": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Create Company News.",
        "operationId": "developerPostV1AppsModulesCompanyNews",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "companyNewsId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isPublished": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "company_news_audit_unavailable: the business operation was not started. company_news_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the announcement before another explicit attempt. Never automatically replay a Company news mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/{recordId}": {
      "get": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Get Company News.",
        "operationId": "developerGetV1AppsModulesCompanyNewsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "companyNewsId",
                    "recordId",
                    "title",
                    "isPublished",
                    "updatedUtc",
                    "isFavorite"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "createdByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "companyNewsId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "body": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "publishUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "expiresUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isPublished": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.read"
        ]
      },
      "put": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Update Company News.",
        "description": "Ordinary edits retain visibility; create-only scope fields are rejected even when null.",
        "operationId": "developerPutV1AppsModulesCompanyNewsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "companyNewsId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isPublished": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "company_news_audit_unavailable: the business operation was not started. company_news_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the announcement before another explicit attempt. Never automatically replay a Company news mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Remove Company News.",
        "description": "Soft-deletes an authorized Company News record using its displayed expectedUpdatedUtc revision. Missing or invalid input returns 400 company_news_invalid_request; a stale revision returns 409 company_news_conflict. Refresh and ask the user to confirm again after a conflict; never retry deletion using a newly fetched revision automatically.",
        "operationId": "developerDeleteV1AppsModulesCompanyNewsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current news.updatedUtc revision. Preserve the exact string and all fractional seconds.",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
              "type": "string",
              "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid. Error code: company_news_invalid_request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision. Error code: company_news_conflict.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Favorite for Company News.",
        "operationId": "developerPutV1AppsModulesCompanyNewsRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "companyNewsId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isPublished": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/{recordId}/published": {
      "put": {
        "tags": [
          "TenantCompanyNews"
        ],
        "summary": "Published for Company News.",
        "operationId": "developerPutV1AppsModulesCompanyNewsRecordIdGuidPublished",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsPublishedRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsPublishedRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyNewsPublishedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "companyNewsId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isPublished": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/export/capability": {
      "get": {
        "tags": [
          "TenantCompanyNewsExport"
        ],
        "summary": "Get Export Capability for Company News Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesCompanyNewsExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/company-news/export": {
      "get": {
        "tags": [
          "TenantCompanyNewsExport"
        ],
        "summary": "Export Company News Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesCompanyNewsExport",
        "parameters": [
          {
            "name": "includeDrafts",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.company-news.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/{recordId}/inbound-addresses": {
      "get": {
        "tags": [
          "TenantContactInboundAddresses"
        ],
        "summary": "List Contact Inbound Addresses.",
        "operationId": "developerGetV1AppsModulesContactsRecordIdGuidInboundAddresses",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "recordId",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "identityId",
                          "channelKey",
                          "address",
                          "createdUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "identityId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "address": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      },
      "post": {
        "tags": [
          "TenantContactInboundAddresses"
        ],
        "summary": "Link for Contact Inbound Addresses.",
        "description": "channelKey email (trimmed, lowercased) or sms (E.164 as Twilio delivers it, e.g. +15551234567). An address belongs to one contact per organization: linking one another contact holds is 409 (unlink it there first). Idempotent (outcome unchanged). Audited.",
        "operationId": "developerPostV1AppsModulesContactsRecordIdGuidInboundAddresses",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactInboundAddressRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactInboundAddressRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactInboundAddressRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "recordId",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "identityId",
                          "channelKey",
                          "address",
                          "createdUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "identityId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "address": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/{recordId}/inbound-addresses/unlink": {
      "post": {
        "tags": [
          "TenantContactInboundAddresses"
        ],
        "summary": "Unlink for Contact Inbound Addresses.",
        "description": "Idempotent: unlinking an address this contact does not hold returns outcome unchanged. Audited.",
        "operationId": "developerPostV1AppsModulesContactsRecordIdGuidInboundAddressesUnlink",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactInboundAddressRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactInboundAddressRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactInboundAddressRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "recordId",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "identityId",
                          "channelKey",
                          "address",
                          "createdUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "identityId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "address": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/schema": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Get Schema for Contacts.",
        "operationId": "developerGetV1AppsModulesContactsSchema",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "catalogId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "catalogVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "resources": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldCatalogId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "bindingIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    "fieldCatalogs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldCatalogId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fields": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "key": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "type": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "required": {
                                  "type": "boolean"
                                },
                                "readable": {
                                  "type": "boolean"
                                },
                                "writable": {
                                  "type": "boolean"
                                },
                                "maximumLength": {
                                  "type": [
                                    "null",
                                    "integer"
                                  ],
                                  "format": "int32"
                                },
                                "minimum": {
                                  "type": [
                                    "null",
                                    "number"
                                  ],
                                  "format": "double"
                                },
                                "maximum": {
                                  "type": [
                                    "null",
                                    "number"
                                  ],
                                  "format": "double"
                                },
                                "choiceIds": {
                                  "type": [
                                    "null",
                                    "array"
                                  ],
                                  "items": {
                                    "type": "string",
                                    "format": "uuid"
                                  }
                                },
                                "lookupId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "bindings": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "bindingId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "presentationKind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "defaultPageSize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "maximumPageSize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "filterFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "sortFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "kind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "inputFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "inputConstraints": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "maximumLength": {
                                  "type": "integer",
                                  "format": "int32"
                                }
                              }
                            }
                          },
                          "requiresRecordId": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "result": {
                            "type": "object",
                            "properties": {
                              "returnsRevision": {
                                "type": "boolean"
                              },
                              "canConflict": {
                                "type": "boolean"
                              },
                              "refreshBindingId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              }
                            }
                          }
                        }
                      }
                    },
                    "components": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "componentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rendererKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "trustLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "resourceId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "bindingId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "fieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "defaultProps": { }
                        }
                      }
                    },
                    "vocabularies": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "vocabularyId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "fieldId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "allowsCustomValue": {
                            "type": "boolean"
                          },
                          "choices": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "choiceId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "value": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "lookups": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "lookupId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "kind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "maximumPageSize": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Get Lookup for Contacts.",
        "operationId": "developerGetV1AppsModulesContactsLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lookupId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "optionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/create-visibility-options": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Get Create Visibility Options for Contacts.",
        "operationId": "developerGetV1AppsModulesContactsCreateVisibilityOptions",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "options": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "scope": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Returns fast authorized rows within the 5,000-record browse window.",
        "description": "Returns fast authorized rows within the 5,000-record browse window. Non-exact totalRecords is not a full count. Fetch the exact total separately with GET /v1/apps/{saasAppId}/modules/contacts/count using the same filters and identity. Legacy includeTotal=true requests return HTTP 400 with code contacts_count_endpoint_required. Omitted or false is accepted. Keep rows usable if the separate count request fails; never report a failed count as zero. Continue with pageNumber + 1 while hasMore is true, preserving pageSize, filters and identity. When totalIsExact is false, totalRecords and totalPages are lower bounds; never use the initial totalPages as a loop limit. This is a current authorized browse view, not a snapshot or a complete export. Concurrent changes can move rows between pages. The Contacts browseLimit caps its browse window; reaching it does not certify collection completeness.",
        "operationId": "developerGetV1AppsModulesContacts",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "contactTypeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "updatedUtc"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "sortBy": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "sortDirection": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "description": "Known authorized record count. When totalIsExact is false this is a lower bound, not the collection size.",
                      "format": "int64"
                    },
                    "totalPages": {
                      "type": "integer",
                      "description": "Pages derived from totalRecords. When totalIsExact is false this is a lower bound and not a stopping condition. Continue using hasMore.",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean",
                      "description": "True only when totalRecords and totalPages are exact for this response. A false value must never be presented as an exact count."
                    },
                    "hasMore": {
                      "type": "boolean",
                      "description": "When true, request pageNumber + 1 with the same pageSize, filters and identity. Stop when false; do not stop at the initial totalPages."
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "contactId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "contactType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "firstName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "companyName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "email": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "email"
                          },
                          "phone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "mobilePhone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationTimeZone": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "locationId": {
                                    "type": [
                                      "null",
                                      "string"
                                    ],
                                    "format": "uuid"
                                  },
                                  "timeZoneId": {
                                    "type": [
                                      "null",
                                      "string"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "timeZone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request Error code: contacts_count_endpoint_required.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      },
      "post": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Create Contacts.",
        "operationId": "developerPostV1AppsModulesContacts",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "contactId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/count": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Count Contacts.",
        "operationId": "developerGetV1AppsModulesContactsCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contactTypeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/{recordId}": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Get Contacts.",
        "operationId": "developerGetV1AppsModulesContactsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordRevisionUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "address1": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "address2": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "city": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "stateProvince": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "postalCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "country": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "notes": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    },
                    "secureFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldDefinitionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "maxLength": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "hasValue": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "contactId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "contactType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "firstName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "lastName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "companyName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "email": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "email"
                    },
                    "phone": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "mobilePhone": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationTimeZone": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "locationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            },
                            "timeZoneId": {
                              "type": [
                                "null",
                                "string"
                              ]
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "timeZone": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      },
      "put": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Update Contacts.",
        "operationId": "developerPutV1AppsModulesContactsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "contactId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Remove Contacts.",
        "operationId": "developerDeleteV1AppsModulesContactsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Favorite for Contacts.",
        "operationId": "developerPutV1AppsModulesContactsRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "contactId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/export/capability": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Get Export Capability for Contacts.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesContactsExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/export": {
      "get": {
        "tags": [
          "TenantContacts"
        ],
        "summary": "Export Contacts.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesContactsExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contactTypeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "updatedUtc"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/import/capability": {
      "get": {
        "tags": [
          "TenantContactsImport"
        ],
        "summary": "Get Import Capability for Contacts Import.",
        "description": "Whether the caller may import Contacts, and the shared DataRoles (with their location choices) they may import into. The import permission is separate from create: a DataRole must allow both.",
        "operationId": "developerGetV1AppsModulesContactsImportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canImport": {
                      "type": "boolean"
                    },
                    "canImportPersonal": {
                      "type": "boolean"
                    },
                    "importLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dataRoles": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "dataRoleId": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "roleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/import/check": {
      "post": {
        "tags": [
          "TenantContactsImport"
        ],
        "summary": "Check for Contacts Import.",
        "description": "Checks a CSV file (the Contacts export's columns; Title, Location and Updated are ignored) without saving anything: each row is tried exactly as the import would try it with the same scope and matchedRows choice, and rows whose email matches a contact the caller can read and edit are listed with how many contacts match. At most 10,000 rows.",
        "operationId": "developerPostV1AppsModulesContactsImportCheck",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file",
                  "isPersonal",
                  "matchedRows"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "The CSV file, UTF-8, at most 16 MiB and 10,000 rows.",
                    "format": "binary"
                  },
                  "isPersonal": {
                    "type": "boolean",
                    "description": "true: the caller's own Personal scope (send no dataRoleId, locationScope or locationId; needs the Import records permission). false: one shared DataRole."
                  },
                  "dataRoleId": {
                    "minimum": 1,
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "Required when isPersonal is false: the shared DataRole new contacts are created in; it must allow create and import.",
                    "format": "int32"
                  },
                  "locationScope": {
                    "enum": [
                      "All",
                      "Specific"
                    ],
                    "type": "string",
                    "description": "Required when isPersonal is false: All locations, or one Specific location named by locationId."
                  },
                  "locationId": {
                    "type": [
                      "null",
                      "string"
                    ],
                    "description": "Required with Specific; not sent with All.",
                    "format": "uuid"
                  },
                  "matchedRows": {
                    "enum": [
                      "skip",
                      "create",
                      "update"
                    ],
                    "type": "string",
                    "description": "Rows whose email matches a contact the caller can edit are skipped, created as new contacts, or update that contact (only when exactly one matches; a blank cell keeps the stored value). The check takes the same choice so it tries each row as the import will."
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "rowCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "validCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "invalidRows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "rowNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "errorNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "reason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "matchedRows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "rowNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "matchCount": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/contacts/import": {
      "post": {
        "tags": [
          "TenantContactsImport"
        ],
        "summary": "Import for Contacts Import.",
        "description": "Imports a checked CSV file into the caller's own Personal scope or one shared DataRole and location the caller chooses. Good rows are saved and the others reported; matchedRows says whether rows matching an existing contact's email are skipped, created as new, or update that one contact (no choice is assumed; two or more matches refuse the row). The Idempotency-Key header names the import: a retry with the same key and file returns the first receipt and never creates a row twice; the same key with a different file or choice, or while that import is still running, is a 409. Each import writes one import audit event naming the API client; when that audit cannot be recorded the import is refused (503) and nothing is created.",
        "operationId": "developerPostV1AppsModulesContactsImport",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The caller's name for this import, 1 to 100 characters; reuse it only to retry the same import.",
            "required": true,
            "schema": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file",
                  "isPersonal",
                  "matchedRows"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "The CSV file, UTF-8, at most 16 MiB and 10,000 rows.",
                    "format": "binary"
                  },
                  "isPersonal": {
                    "type": "boolean",
                    "description": "true: the caller's own Personal scope (send no dataRoleId, locationScope or locationId; needs the Import records permission). false: one shared DataRole."
                  },
                  "dataRoleId": {
                    "minimum": 1,
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "Required when isPersonal is false: the shared DataRole new contacts are created in; it must allow create and import.",
                    "format": "int32"
                  },
                  "locationScope": {
                    "enum": [
                      "All",
                      "Specific"
                    ],
                    "type": "string",
                    "description": "Required when isPersonal is false: All locations, or one Specific location named by locationId."
                  },
                  "locationId": {
                    "type": [
                      "null",
                      "string"
                    ],
                    "description": "Required with Specific; not sent with All.",
                    "format": "uuid"
                  },
                  "matchedRows": {
                    "enum": [
                      "skip",
                      "create",
                      "update"
                    ],
                    "type": "string",
                    "description": "Rows whose email matches a contact the caller can edit are skipped, created as new contacts, or update that contact (only when exactly one matches; a blank cell keeps the stored value). The check takes the same choice so it tries each row as the import will."
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "importId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPersonal": {
                      "type": "boolean"
                    },
                    "matchedRows": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "totalRows": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "createdRows": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedRows": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "skippedRows": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "failedRows": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "rows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "rowNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "outcome": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "errorNumber": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "reason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.contacts.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "List Conversations.",
        "description": "Continue with pageNumber + 1 while hasMore is true, preserving pageSize, filters and identity. When totalIsExact is false, totalRecords and totalPages are lower bounds; never use the initial totalPages as a loop limit. This is a current authorized browse view, not a snapshot or a complete export. Concurrent changes can move rows between pages. The Contacts browseLimit caps its browse window; reaching it does not certify collection completeness.",
        "operationId": "developerGetV1AppsModulesConversations",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channelTypeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assignedToUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "awaitingReplyOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "description": "Known authorized record count. When totalIsExact is false this is a lower bound, not the collection size.",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "description": "Pages derived from totalRecords. When totalIsExact is false this is a lower bound and not a stopping condition. Continue using hasMore.",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean",
                      "description": "True only when totalRecords and totalPages are exact for this response. A false value must never be presented as an exact count."
                    },
                    "hasMore": {
                      "type": "boolean",
                      "description": "When true, request pageNumber + 1 with the same pageSize, filters and identity. Stop when false; do not stop at the initial totalPages."
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "conversationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "channelTypeId": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "channelName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "assignedToUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "assignedToDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contactRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "contactDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contactLinkState": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastMessageUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "lastMessagePreview": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "messageCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "isAwaitingReply": {
                            "type": "boolean"
                          },
                          "snoozeUntilUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "slaStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "resolutionSlaStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isUnread": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      },
      "post": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Create Conversations.",
        "operationId": "developerPostV1AppsModulesConversations",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "conversationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "conversationMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "duplicate": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "conversation_audit_unavailable: the business operation was not started. conversation_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the conversation before another explicit attempt. Never automatically replay a conversation mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/{recordId}": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Get Conversations.",
        "operationId": "developerGetV1AppsModulesConversationsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "messagePageSize",
            "in": "query",
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 200
            }
          },
          {
            "name": "beforeUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "beforeConversationMessageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "channelConnectionId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "messagePageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasEarlierMessages": {
                      "type": "boolean"
                    },
                    "nextBeforeUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextBeforeConversationMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "isOutboundCapable": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "deletionScope": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "firstResponseDueUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "firstResponseAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "resolutionDueUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "resolutionAtUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "participants": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "participantKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "participantType": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "userId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "contactRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "address": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastReadUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "isMuted": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "tags": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "tagId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "tagKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "colorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "conversationMessageId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "direction": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fromAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "toAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ccAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "bodyText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "bodyHtml": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "postedByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "postedByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "deliveryStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "hasAttachments": {
                            "type": "boolean"
                          },
                          "isPrivateNote": {
                            "type": "boolean"
                          },
                          "sentUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "receivedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "attachments": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fileId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "recordId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "fileName": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "contentType": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "sizeBytes": {
                                  "type": "integer",
                                  "format": "int64"
                                },
                                "isInline": {
                                  "type": "boolean"
                                },
                                "contentId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "conversationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "channelTypeId": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "channelKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "channelName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "subject": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "priority": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "assignedToUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "assignedToDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "contactLinkState": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "lastMessageUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "lastMessagePreview": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "messageCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "isAwaitingReply": {
                      "type": "boolean"
                    },
                    "snoozeUntilUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "slaStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "resolutionSlaStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isUnread": {
                      "type": "boolean"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      },
      "put": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Update Conversations.",
        "operationId": "developerPutV1AppsModulesConversationsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "conversationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "conversationMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "duplicate": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "conversation_audit_unavailable: the business operation was not started. conversation_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the conversation before another explicit attempt. Never automatically replay a conversation mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Deletes a shared conversation for its DataRole (CanDeleteRecords holder), or hides a direct message only for the calling participant, using the displayed expectedUpdatedUtc revision.",
        "description": "Deletes a shared conversation for its DataRole (CanDeleteRecords holder), or hides a direct message only for the calling participant, using the displayed expectedUpdatedUtc revision. Missing or invalid input returns 400 conversations_invalid_request; an unavailable conversation returns concealed 404 conversations_not_found; a stale revision returns 409 conversations_conflict. Refresh and ask the user to confirm again after a conflict; never retry deletion using a newly fetched revision automatically.",
        "operationId": "developerDeleteV1AppsModulesConversationsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current conversation updatedUtc revision. Preserve the exact string and all fractional seconds; never convert it to a JavaScript Date or call toISOString().",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
              "type": "string",
              "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "conversationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "deletionEventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "deletionScope": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/{recordId}/messages/{messageId}/attachments/{fileId}/content": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Reads the exact linked Conversation child attachment under current Personal, DataRole, location, participant and user-copy read permissions.",
        "description": "Reads the exact linked Conversation child attachment under current Personal, DataRole, location, participant and user-copy read permissions. Storage destinations remain server-only. Supports byte ranges; active HTML/SVG and unsupported media types download as application/octet-stream. Requires modules.conversations.read.",
        "operationId": "developerGetV1AppsModulesConversationsRecordIdGuidMessagesMessageIdGuidAttachmentsFileIdGuidContent",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/gif": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/webp": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "206": {
            "description": "Authorized partial attachment content.",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/gif": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/webp": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "416": {
            "description": "The requested byte range is outside this attachment."
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/lego-catalog": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Lego Catalog for Conversations.",
        "operationId": "developerGetV1AppsModulesConversationsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/lego-presentation": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Lego Presentation for Conversations.",
        "operationId": "developerGetV1AppsModulesConversationsLegoPresentation",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presentationVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "kind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "columns": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "type": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "align": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "rows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "cells": {
                            "type": [
                              "null",
                              "object"
                            ]
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "revision": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "tone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "pageNumber": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "hasMore": {
                          "type": "boolean"
                        },
                        "totalRecords": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int64"
                        },
                        "totalIsExact": {
                          "type": "boolean"
                        },
                        "nextPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "nextLastActivityUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "nextRecordId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/capabilities": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Capabilities for Conversations.",
        "operationId": "developerGetV1AppsModulesConversationsCapabilities",
        "parameters": [
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/{recordId}/messages": {
      "post": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Reply for Conversations.",
        "operationId": "developerPostV1AppsModulesConversationsRecordIdGuidMessages",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationMessageWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationMessageWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationMessageWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "conversationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "conversationMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "duplicate": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "conversation_audit_unavailable: the business operation was not started. conversation_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the conversation before another explicit attempt. Never automatically replay a conversation mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/direct/scope": {
      "get": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Direct Scope for Conversations.",
        "operationId": "developerGetV1AppsModulesConversationsDirectScope",
        "parameters": [
          {
            "name": "recipientUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recipientUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "existingRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "currentScope": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "contractVersion": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "recordId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "revisionUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "isPersonal": {
                              "type": "boolean"
                            },
                            "locationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            },
                            "locationName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roles": {
                              "type": [
                                "null",
                                "array"
                              ],
                              "items": {
                                "type": "object",
                                "properties": {
                                  "dataRoleId": {
                                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                                    "type": [
                                      "integer",
                                      "string"
                                    ],
                                    "format": "int32"
                                  },
                                  "roleName": {
                                    "type": [
                                      "null",
                                      "string"
                                    ]
                                  }
                                }
                              }
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "recipients": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "userId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "dataRoleId": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "roleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "locations": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "locationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "locationRequired": {
                      "type": "boolean"
                    },
                    "canChooseAllLocations": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/direct": {
      "post": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Send Direct for Conversations.",
        "operationId": "developerPostV1AppsModulesConversationsDirect",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectConversationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectConversationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DirectConversationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "conversationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "conversationMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "duplicate": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantConversations"
        ],
        "summary": "Favorite for Conversations.",
        "operationId": "developerPutV1AppsModulesConversationsRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "conversationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "conversationMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "duplicate": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/tags": {
      "get": {
        "tags": [
          "TenantConversationTags"
        ],
        "summary": "List Tags for Conversation Tags.",
        "operationId": "developerGetV1AppsModulesConversationsTags",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "items",
                    "hasMore",
                    "nextAfterId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "tagId",
                          "tagKey",
                          "label",
                          "colorKey",
                          "sortOrder",
                          "isActive",
                          "createdUtc",
                          "updatedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "tagId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "tagKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "colorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "createdUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ],
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          }
                        }
                      }
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextAfterId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      },
      "post": {
        "tags": [
          "TenantConversationTags"
        ],
        "summary": "Create Tag for Conversation Tags.",
        "description": "tagKey: lowercase letters, digits and single hyphens (1-100), unique in the organization, fixed after create. label 1-200, colorKey optional token, sortOrder 0-10000. Audited.",
        "operationId": "developerPostV1AppsModulesConversationsTags",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTagSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTagSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTagSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "tag"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "tag": {
                      "required": [
                        "tagId",
                        "tagKey",
                        "label",
                        "colorKey",
                        "sortOrder",
                        "isActive",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "tagId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "tagKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "label": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "colorKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sortOrder": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ],
                          "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/tags/{tagId}": {
      "put": {
        "tags": [
          "TenantConversationTags"
        ],
        "summary": "Update Tag for Conversation Tags.",
        "description": "Requires expectedUpdatedUtc exactly as read; omit tagKey (it never changes). A turned-off tag stays on conversations already tagged and can no longer be applied. Audited.",
        "operationId": "developerPutV1AppsModulesConversationsTagsTagIdGuid",
        "parameters": [
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTagSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTagSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTagSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "tag"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "tag": {
                      "required": [
                        "tagId",
                        "tagKey",
                        "label",
                        "colorKey",
                        "sortOrder",
                        "isActive",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "tagId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "tagKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "label": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "colorKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sortOrder": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ],
                          "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/{recordId}/tags": {
      "get": {
        "tags": [
          "TenantConversationTags"
        ],
        "summary": "Get Record Tags for Conversation Tags.",
        "operationId": "developerGetV1AppsModulesConversationsRecordIdGuidTags",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "recordId",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "tagId",
                          "tagKey",
                          "label",
                          "colorKey",
                          "isActive",
                          "taggedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "tagId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "tagKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "colorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "taggedUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/conversations/{recordId}/tags/{tagId}": {
      "put": {
        "tags": [
          "TenantConversationTags"
        ],
        "summary": "Apply Tag for Conversation Tags.",
        "description": "Idempotent: applying a tag already on the conversation returns outcome unchanged. Audited.",
        "operationId": "developerPutV1AppsModulesConversationsRecordIdGuidTagsTagIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "recordId",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "tagId",
                          "tagKey",
                          "label",
                          "colorKey",
                          "isActive",
                          "taggedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "tagId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "tagKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "colorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "taggedUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantConversationTags"
        ],
        "summary": "Remove Tag for Conversation Tags.",
        "description": "Idempotent: removing a tag that is not on the conversation returns outcome unchanged. Turned-off tags can be removed. Audited.",
        "operationId": "developerDeleteV1AppsModulesConversationsRecordIdGuidTagsTagIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "recordId",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "tagId",
                          "tagKey",
                          "label",
                          "colorKey",
                          "isActive",
                          "taggedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "tagId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "tagKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "colorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "taggedUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.conversations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards": {
      "get": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "List Discussion Boards.",
        "operationId": "developerGetV1AppsModulesDiscussionBoards",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "canCreate",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "pageNumber": {
                      "maximum": 2147483647,
                      "minimum": 1,
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "maximum": 200,
                      "minimum": 1,
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "maximum": 2147483647,
                      "minimum": 0,
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "maximum": 2147483647,
                      "minimum": 0,
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "maxItems": 200,
                      "type": "array",
                      "items": {
                        "required": [
                          "discussionBoardId",
                          "recordId",
                          "boardName",
                          "isArchived",
                          "updatedUtc",
                          "isFavorite",
                          "topicCount",
                          "postCount"
                        ],
                        "type": "object",
                        "properties": {
                          "discussionBoardId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": "string",
                            "format": "uuid"
                          },
                          "boardName": {
                            "pattern": "\\S",
                            "type": "string"
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isArchived": {
                            "type": "boolean"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "topicCount": {
                            "maximum": 2147483647,
                            "minimum": 0,
                            "type": "integer",
                            "format": "int32"
                          },
                          "postCount": {
                            "maximum": 2147483647,
                            "minimum": 0,
                            "type": "integer",
                            "format": "int32"
                          },
                          "lastTopicUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  },
                  "description": "Secured board page with explicit permission flags and unique board/record IDs. Counts and items are separate reads; concurrent changes may produce a short, empty or differently sized page. No row count or ordering is inferred from metadata."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      },
      "post": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Create Board for Discussion Boards.",
        "operationId": "developerPostV1AppsModulesDiscussionBoards",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionBoardWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionBoardWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionBoardWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "recordId",
                    "updatedUtc",
                    "discussionBoardId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "recordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque returned UTC revision;preserve every fractional digit without converting to a JavaScript Date."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  },
                  "description": "Confirmed create receipt. A failure after dispatch does not prove rollback;reconcile before repeating."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "discussion_topic_audit_unavailable: the business operation was not started. discussion_topic_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the board and topic before another explicit attempt. Never automatically replay a board, topic or post mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/count": {
      "get": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Count Discussion Boards.",
        "operationId": "developerGetV1AppsModulesDiscussionBoardsCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/{recordId}": {
      "get": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Get Board for Discussion Boards.",
        "operationId": "developerGetV1AppsModulesDiscussionBoardsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "topicPageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "topicPageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topicPageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "topicPageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMoreTopics": {
                      "type": "boolean"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "canCreateTopic": {
                      "type": "boolean"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "topics": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "discussionTopicId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "topicTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isPinned": {
                            "type": "boolean"
                          },
                          "isLocked": {
                            "type": "boolean"
                          },
                          "createdByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "createdByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "postCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "lastPostUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "discussionBoardId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isArchived": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "topicCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "postCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lastTopicUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      },
      "put": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Update Board for Discussion Boards.",
        "description": "Ordinary edits retain visibility; create-only scope fields are rejected even when null.",
        "operationId": "developerPutV1AppsModulesDiscussionBoardsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionBoardUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionBoardUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionBoardUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "discussion_topic_audit_unavailable: the business operation was not started. discussion_topic_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the board and topic before another explicit attempt. Never automatically replay a board, topic or post mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Remove Board for Discussion Boards.",
        "operationId": "developerDeleteV1AppsModulesDiscussionBoardsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/lego/catalog": {
      "get": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Lego Catalog for Discussion Boards.",
        "operationId": "developerGetV1AppsModulesDiscussionBoardsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/{boardRecordId}/topics": {
      "post": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Create Topic for Discussion Boards.",
        "operationId": "developerPostV1AppsModulesDiscussionBoardsBoardRecordIdGuidTopics",
        "parameters": [
          {
            "name": "boardRecordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionTopicCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionTopicCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionTopicCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "recordId",
                    "updatedUtc",
                    "boardRecordId",
                    "discussionTopicId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "recordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque returned UTC revision;preserve every fractional digit without converting to a JavaScript Date."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  },
                  "description": "Confirmed create receipt. A failure after dispatch does not prove rollback;reconcile before repeating. Post IDs remain an optional coherent pair;the current SQL receipt has no authoritative post-created flag."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "discussion_topic_audit_unavailable: the business operation was not started. discussion_topic_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the board and topic before another explicit attempt. Never automatically replay a board, topic or post mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/topics/{recordId}": {
      "get": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Get Topic for Discussion Boards.",
        "operationId": "developerGetV1AppsModulesDiscussionBoardsTopicsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "postPageSize",
            "in": "query",
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "beforeUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "beforeDiscussionPostId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "postPageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasEarlierPosts": {
                      "type": "boolean"
                    },
                    "nextBeforeUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextBeforeDiscussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "boardRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isBoardArchived": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "canReply": {
                      "type": "boolean"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "posts": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "discussionPostId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "parentDiscussionPostId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "postBody": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "postedByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "postedByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "canDelete": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "discussionTopicId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "topicTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPinned": {
                      "type": "boolean"
                    },
                    "isLocked": {
                      "type": "boolean"
                    },
                    "createdByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "postCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lastPostUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      },
      "put": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Update Topic for Discussion Boards.",
        "operationId": "developerPutV1AppsModulesDiscussionBoardsTopicsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionTopicUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionTopicUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionTopicUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "discussion_topic_audit_unavailable: the business operation was not started. discussion_topic_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the board and topic before another explicit attempt. Never automatically replay a board, topic or post mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Remove Topic for Discussion Boards.",
        "operationId": "developerDeleteV1AppsModulesDiscussionBoardsTopicsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/topics/{topicRecordId}/posts": {
      "post": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Post Reply for Discussion Boards.",
        "operationId": "developerPostV1AppsModulesDiscussionBoardsTopicsTopicRecordIdGuidPosts",
        "parameters": [
          {
            "name": "topicRecordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionPostWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionPostWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionPostWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "discussion_topic_audit_unavailable: the business operation was not started. discussion_topic_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the board and topic before another explicit attempt. Never automatically replay a board, topic or post mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/posts/{recordId}": {
      "put": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Update Post for Discussion Boards.",
        "operationId": "developerPutV1AppsModulesDiscussionBoardsPostsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionPostUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionPostUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionPostUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "discussion_topic_audit_unavailable: the business operation was not started. discussion_topic_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh the board and topic before another explicit attempt. Never automatically replay a board, topic or post mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Remove Post for Discussion Boards.",
        "operationId": "developerDeleteV1AppsModulesDiscussionBoardsPostsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/records/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantDiscussionBoards"
        ],
        "summary": "Set Favorite for Discussion Boards.",
        "operationId": "developerPutV1AppsModulesDiscussionBoardsRecordsRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DiscussionFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "boardRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "topicRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionBoardId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionTopicId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "discussionPostId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "postRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/export/capability": {
      "get": {
        "tags": [
          "TenantDiscussionBoardsExport"
        ],
        "summary": "Get Export Capability for Discussion Boards Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesDiscussionBoardsExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/discussion-boards/export": {
      "get": {
        "tags": [
          "TenantDiscussionBoardsExport"
        ],
        "summary": "Export Discussion Boards Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesDiscussionBoardsExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.discussion-boards.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic": {
      "get": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Catalog for Dynamic Modules.",
        "operationId": "developerGetV1AppsModulesDynamic",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "modules": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "storageMode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canCreate": {
                            "type": "boolean"
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "canDelete": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/schema": {
      "get": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Schema for Dynamic Modules.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKeySchema",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "displayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "storageMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "fields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "searchable": {
                            "type": "boolean"
                          },
                          "sortable": {
                            "type": "boolean"
                          },
                          "maxLength": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "validationRegex": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "options": { }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Lego Lookup for Dynamic Modules.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKeyLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lookupId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "optionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/lego/catalog": {
      "get": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Lego Catalog for Dynamic Modules.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKeyLegoCatalog",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "displayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "storageMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "fields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "searchable": {
                            "type": "boolean"
                          },
                          "sortable": {
                            "type": "boolean"
                          },
                          "maxLength": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "validationRegex": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "options": { }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}": {
      "get": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "List Dynamic Modules.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKey",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "created_desc"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "records": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "fields"
                        ],
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ],
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "fields": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldKey": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "dataType": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "valueText": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "valueInt": {
                                  "anyOf": [
                                    {
                                      "type": "integer",
                                      "format": "int64"
                                    },
                                    {
                                      "maxLength": 20,
                                      "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                      "type": "string"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ],
                                  "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                                },
                                "valueDecimal": { },
                                "valueDecimalExact": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "valueDateTime": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "date-time"
                                },
                                "valueBool": {
                                  "type": [
                                    "null",
                                    "boolean"
                                  ]
                                },
                                "valueGuid": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                },
                                "valueJson": { }
                              }
                            }
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "total": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "hasMore": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      },
      "post": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Create Dynamic Modules.",
        "operationId": "developerPostV1AppsModulesDynamicModuleKey",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/{recordId}": {
      "get": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Get Dynamic Modules.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKeyRecordIdGuid",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "fields"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "fields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      },
      "put": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Update Dynamic Modules.",
        "operationId": "developerPutV1AppsModulesDynamicModuleKeyRecordIdGuid",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Delete Dynamic Modules.",
        "operationId": "developerDeleteV1AppsModulesDynamicModuleKeyRecordIdGuid",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current target.updatedUtc revision. Preserve the exact string and all fractional seconds; never round it through a JavaScript Date. On 409, refresh and ask the user to confirm again before deleting.",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string",
              "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Favorite for Dynamic Modules.",
        "operationId": "developerPutV1AppsModulesDynamicModuleKeyRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicModuleFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/caseflow-cases/{recordId}/transition": {
      "post": {
        "tags": [
          "TenantDynamicModules"
        ],
        "summary": "Transition Case Flow for Dynamic Modules.",
        "operationId": "developerPostV1AppsModulesDynamicCaseflowCasesRecordIdGuidTransition",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaseFlowTransitionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CaseFlowTransitionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CaseFlowTransitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "caseRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "transitionRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "previousStage": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currentStage": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "checklistRunId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/export/capability": {
      "get": {
        "tags": [
          "TenantDynamicRecordsExport"
        ],
        "summary": "Get Export Capability for Dynamic Records Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKeyExportCapability",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/dynamic/{moduleKey}/export": {
      "get": {
        "tags": [
          "TenantDynamicRecordsExport"
        ],
        "summary": "Export Dynamic Records Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesDynamicModuleKeyExport",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.dynamic-records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/schema": {
      "get": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "Schema for Favorites.",
        "operationId": "developerGetV1AppsModulesFavoritesSchema",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/presentation": {
      "get": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "Presentation for Favorites.",
        "operationId": "developerGetV1AppsModulesFavoritesPresentation",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trackedOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presentationVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "kind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "columns": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "type": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "align": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "rows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "cells": {
                            "type": [
                              "null",
                              "object"
                            ]
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "revision": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "tone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "pageNumber": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "hasMore": {
                          "type": "boolean"
                        },
                        "totalRecords": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int64"
                        },
                        "totalIsExact": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites": {
      "get": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "List Favorites.",
        "operationId": "developerGetV1AppsModulesFavorites",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trackedOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "modules": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "userFavoriteId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "favoriteName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "iconKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "isPinned": {
                            "type": "boolean"
                          },
                          "trackChanges": {
                            "type": "boolean"
                          },
                          "notificationFrequency": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "notificationChannel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lastNotifiedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/{recordId}": {
      "get": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "Get Favorites.",
        "operationId": "developerGetV1AppsModulesFavoritesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "relatedRecords": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordRelationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "relationKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    },
                    "userFavoriteId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "favoriteName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "moduleName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "iconKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "sortOrder": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "isPinned": {
                      "type": "boolean"
                    },
                    "trackChanges": {
                      "type": "boolean"
                    },
                    "notificationFrequency": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "notificationChannel": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "lastNotifiedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/{recordId}/state": {
      "get": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "Get State for Favorites.",
        "operationId": "developerGetV1AppsModulesFavoritesRecordIdGuidState",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "userFavoriteId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "trackChanges": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "sortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "Set Favorites.",
        "operationId": "developerPutV1AppsModulesFavoritesRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FavoriteSetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FavoriteSetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FavoriteSetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "userFavoriteId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "trackChanges": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "sortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/{recordId}/preferences": {
      "put": {
        "tags": [
          "TenantFavorites"
        ],
        "summary": "Update Favorites.",
        "operationId": "developerPutV1AppsModulesFavoritesRecordIdGuidPreferences",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FavoritePreferenceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FavoritePreferenceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FavoritePreferenceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "userFavoriteId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "trackChanges": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "sortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/export/capability": {
      "get": {
        "tags": [
          "TenantFavoritesExport"
        ],
        "summary": "Get Export Capability for Favorites Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesFavoritesExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/favorites/export": {
      "get": {
        "tags": [
          "TenantFavoritesExport"
        ],
        "summary": "Export Favorites Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesFavoritesExport",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trackedOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.favorites.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "List Files.",
        "operationId": "developerGetV1AppsModulesFiles",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contentTypePrefix",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "fileId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "fileName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contentType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sizeBytes": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "hasPreview": {
                            "type": "boolean"
                          },
                          "uploadedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "uploadedByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "uploadedByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "attachmentCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/capabilities": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Capabilities for Files.",
        "operationId": "developerGetV1AppsModulesFilesCapabilities",
        "parameters": [
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Get Files.",
        "operationId": "developerGetV1AppsModulesFilesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "checksumSha256": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "parentFileId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "tags": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "commentCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "attachments": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "attachmentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceModuleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "activeLocks": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "lockedByUserId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "lockedByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lockedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "expiresUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "fileId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "contentType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "sizeBytes": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "version": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasPreview": {
                      "type": "boolean"
                    },
                    "uploadedUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "uploadedByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "uploadedByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "attachmentCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      },
      "put": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Update Files.",
        "operationId": "developerPutV1AppsModulesFilesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "attachmentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "files_metadata_audit_unavailable: the business operation was not started. files_metadata_outcome_unconfirmed: its outcome or audit completion is uncertain; refresh File metadata before another explicit attempt. Never automatically replay a File metadata mutation.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Remove Files.",
        "operationId": "developerDeleteV1AppsModulesFilesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current target.updatedUtc revision. Preserve the exact string and all fractional seconds; never round it through a JavaScript Date. On 409, refresh and ask the user to confirm again before deleting.",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string",
              "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "retentionUntilUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "cleanupJobsQueued": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/upload": {
      "post": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Upload for Files.",
        "operationId": "developerPostV1AppsModulesFilesUpload",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "File": {
                    "$ref": "#/components/schemas/IFormFile"
                  },
                  "UploadId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "IsPersonal": {
                    "type": "boolean"
                  },
                  "DataRoleId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "LocationScope": {
                    "type": "string"
                  },
                  "LocationId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "Description": {
                    "type": "string"
                  },
                  "TagsJson": {
                    "type": "string"
                  },
                  "SourceRecordId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "SourceModuleKey": {
                    "type": "string"
                  },
                  "DynamicFieldsJson": {
                    "type": "string"
                  }
                },
                "additionalProperties": false,
                "description": "Unknown form fields and file-part names are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "attachmentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/attachments": {
      "post": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Attach for Files.",
        "operationId": "developerPostV1AppsModulesFilesRecordIdGuidAttachments",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileAttachmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileAttachmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileAttachmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "attachmentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/attachments/{attachmentId}": {
      "delete": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Detach for Files.",
        "operationId": "developerDeleteV1AppsModulesFilesRecordIdGuidAttachmentsAttachmentIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "recordId",
                    "fileId",
                    "attachmentId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "attachmentId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "type": "null"
                    },
                    "isFavorite": {
                      "type": "null"
                    }
                  },
                  "description": "Confirmed removal of exactly the requested record's attachment link. recordId and attachmentId must match the request. fileId is a nonzero server-resolved File identity; the request supplies no expected fileId. A failure or malformed receipt after dispatch leaves the outcome unknown: refresh attachments before another deliberate action; never automatically replay DELETE."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The attachment removal outcome could not be confirmed or a dependency is unavailable. The removal may have completed; refresh attachments before another deliberate action. Never automatically resend DELETE. Error code: files_attachment_outcome_unconfirmed.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Favorite for Files.",
        "operationId": "developerPutV1AppsModulesFilesRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "attachmentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/comments": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "List Comments for Files.",
        "operationId": "developerGetV1AppsModulesFilesRecordIdGuidComments",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "beforeCreatedUtc",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "beforeCommentId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "commentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "commentText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "isMine": {
                            "type": "boolean"
                          },
                          "canRemove": {
                            "type": "boolean"
                          },
                          "authorDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      },
      "post": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Add Comment for Files.",
        "operationId": "developerPostV1AppsModulesFilesRecordIdGuidComments",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileCommentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileCommentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileCommentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "commentId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/comments/{commentId}": {
      "delete": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Remove Comment for Files.",
        "operationId": "developerDeleteV1AppsModulesFilesRecordIdGuidCommentsCommentIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "commentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "commentId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "removed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/lego/catalog": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Lego Catalog for Files.",
        "operationId": "developerGetV1AppsModulesFilesLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/content": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Download for Files.",
        "operationId": "developerGetV1AppsModulesFilesRecordIdGuidContent",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/versions": {
      "post": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Upload Version for Files.",
        "operationId": "developerPostV1AppsModulesFilesRecordIdGuidVersions",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "File": {
                    "$ref": "#/components/schemas/IFormFile"
                  },
                  "UploadId": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                "additionalProperties": false,
                "description": "Unknown form fields and file-part names are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fileId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "attachmentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.write"
        ]
      },
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "List Versions for Files.",
        "operationId": "developerGetV1AppsModulesFilesRecordIdGuidVersions",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "beforeVersion",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "currentVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "isCurrent": {
                            "type": "boolean"
                          },
                          "fileName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contentType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sizeBytes": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "uploadedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "isMine": {
                            "type": "boolean"
                          },
                          "uploadedByDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/{recordId}/versions/{version}/content": {
      "get": {
        "tags": [
          "TenantFiles"
        ],
        "summary": "Download Version for Files.",
        "operationId": "developerGetV1AppsModulesFilesRecordIdGuidVersionsVersionIntContent",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/export/capability": {
      "get": {
        "tags": [
          "TenantFilesExport"
        ],
        "summary": "Get Export Capability for Files Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesFilesExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/files/export": {
      "get": {
        "tags": [
          "TenantFilesExport"
        ],
        "summary": "Export Files Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesFilesExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contentTypePrefix",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.files.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/global-search": {
      "get": {
        "tags": [
          "TenantGlobalSearch"
        ],
        "summary": "Returns fast authorized rows within the 5,000-record browse window.",
        "description": "Returns fast authorized rows within the 5,000-record browse window. Non-exact totalRecords is not a full count. Fetch the exact total separately with GET /v1/apps/{saasAppId}/modules/global-search/count using the same filters and identity. Legacy includeTotal=true requests return HTTP 400 with code global_search_count_endpoint_required. Omitted or false is accepted. Keep rows usable if the separate count request fails; never report a failed count as zero.",
        "operationId": "developerGetV1AppsModulesGlobalSearch",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "browseLimit",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "modules",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "query": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "modules": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "matchedFields"
                        ],
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "matchKind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "matchRank": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "relationCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "activityCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "matchedFields": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldKey": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "fieldLabel": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "dataType": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "matchedValue": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request Error code: global_search_count_endpoint_required.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.global-search.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/global-search/count": {
      "get": {
        "tags": [
          "TenantGlobalSearch"
        ],
        "summary": "Count Global Search.",
        "operationId": "developerGetV1AppsModulesGlobalSearchCount",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.global-search.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/global-search/records/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantGlobalSearch"
        ],
        "summary": "Set Favorite for Global Search.",
        "operationId": "developerPutV1AppsModulesGlobalSearchRecordsRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalSearchFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalSearchFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalSearchFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "userFavoriteId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "trackChanges": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "sortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.global-search.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals": {
      "get": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Get Go Claw Approvals.",
        "operationId": "developerGetV1AppsGoclawApprovals",
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "required": [
                      "suggestionBatchId",
                      "inboxItemId",
                      "batchStatus",
                      "summary",
                      "intent",
                      "riskLevel",
                      "overallConfidence",
                      "basedOnActivityVersion",
                      "preparedUtc",
                      "activityVersion",
                      "sourceType",
                      "subject",
                      "previewText",
                      "priority",
                      "lastActivityUtc",
                      "isStale",
                      "draftResponseJson"
                    ],
                    "type": "object",
                    "properties": {
                      "suggestionBatchId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "inboxItemId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "batchStatus": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "summary": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "intent": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "riskLevel": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "overallConfidence": {
                        "type": [
                          "null",
                          "number"
                        ],
                        "format": "double"
                      },
                      "basedOnActivityVersion": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "preparedUtc": {
                        "type": [
                          "null",
                          "string"
                        ],
                        "format": "date-time"
                      },
                      "activityVersion": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "sourceType": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "subject": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "previewText": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "priority": {
                        "type": "integer",
                        "format": "uint8"
                      },
                      "lastActivityUtc": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "isStale": {
                        "type": "boolean"
                      },
                      "draftResponseJson": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "suggestedActions": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "required": [
                            "aiActionSuggestionId",
                            "actionKey",
                            "actionName",
                            "confidenceScore",
                            "suggestedInputJson"
                          ],
                          "type": "object",
                          "properties": {
                            "aiActionSuggestionId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "actionKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "actionName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "confidenceScore": {
                              "type": [
                                "null",
                                "number"
                              ],
                              "format": "double"
                            },
                            "suggestedInputJson": {
                              "type": [
                                "null",
                                "string"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals/lego/catalog": {
      "get": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Lego Catalog for Go Claw Approvals.",
        "operationId": "developerGetV1AppsGoclawApprovalsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals/lego/presentation": {
      "get": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Lego Presentation for Go Claw Approvals.",
        "operationId": "developerGetV1AppsGoclawApprovalsLegoPresentation",
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presentationVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "kind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "columns": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "type": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "align": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "rows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "cells": {
                            "type": [
                              "null",
                              "object"
                            ]
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "revision": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "tone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "pageNumber": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "hasMore": {
                          "type": "boolean"
                        },
                        "totalRecords": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int64"
                        },
                        "totalIsExact": {
                          "type": "boolean"
                        },
                        "nextPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "nextLastActivityUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "nextRecordId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals/{suggestionBatchId}/approve": {
      "post": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Approve for Go Claw Approvals.",
        "operationId": "developerPostV1AppsGoclawApprovalsSuggestionBatchIdGuidApprove",
        "parameters": [
          {
            "name": "suggestionBatchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantApproveSuggestionBatchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantApproveSuggestionBatchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantApproveSuggestionBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "suggestionBatchId"
                  ],
                  "type": "object",
                  "properties": {
                    "suggestionBatchId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "executions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "aiActionExecutionId",
                          "aiActionSuggestionId",
                          "actionKey"
                        ],
                        "type": "object",
                        "properties": {
                          "aiActionExecutionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "aiActionSuggestionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "actionKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals/{suggestionBatchId}/reject": {
      "post": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Reject for Go Claw Approvals.",
        "operationId": "developerPostV1AppsGoclawApprovalsSuggestionBatchIdGuidReject",
        "parameters": [
          {
            "name": "suggestionBatchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantRejectSuggestionBatchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantRejectSuggestionBatchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantRejectSuggestionBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals/{suggestionBatchId}/take-over": {
      "post": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Take Over for Go Claw Approvals.",
        "operationId": "developerPostV1AppsGoclawApprovalsSuggestionBatchIdGuidTakeOver",
        "parameters": [
          {
            "name": "suggestionBatchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantReviewDispositionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantReviewDispositionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantReviewDispositionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/goclaw/approvals/{suggestionBatchId}/retry": {
      "post": {
        "tags": [
          "TenantGoClawApprovals"
        ],
        "summary": "Retry for Go Claw Approvals.",
        "operationId": "developerPostV1AppsGoclawApprovalsSuggestionBatchIdGuidRetry",
        "parameters": [
          {
            "name": "suggestionBatchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantReviewDispositionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantReviewDispositionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantReviewDispositionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.goclaw.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/routing-rules": {
      "get": {
        "tags": [
          "TenantInboxRoutingRules"
        ],
        "summary": "List Inbox Routing Rules.",
        "description": "Organization owner only. Rules are listed in evaluation order (sortOrder, createdUtc, id). Pass nextAfterSortOrder, nextAfterCreatedUtc and nextAfterRuleId together to read the next page.",
        "operationId": "developerGetV1AppsInboxRoutingRules",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "afterSortOrder",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "afterCreatedUtc",
            "in": "query",
            "schema": {
              "maxLength": 28,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "afterRuleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "items",
                    "hasMore",
                    "nextAfterSortOrder",
                    "nextAfterCreatedUtc",
                    "nextAfterRuleId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "inboxRoutingRuleId",
                          "ruleName",
                          "sourceType",
                          "sourceKey",
                          "channelTypeId",
                          "channelKey",
                          "eventType",
                          "minPriority",
                          "condition",
                          "inboxQueueId",
                          "queueName",
                          "assignToUserId",
                          "assignToUserName",
                          "assignToDataRoleId",
                          "assignToDataRoleName",
                          "setPriority",
                          "action",
                          "stopProcessing",
                          "sortOrder",
                          "isActive",
                          "createdUtc",
                          "updatedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "inboxRoutingRuleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "ruleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "channelTypeId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "eventType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "minPriority": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "condition": { },
                          "inboxQueueId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "queueName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assignToUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "assignToUserName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assignToDataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "assignToDataRoleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "setPriority": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "action": { },
                          "stopProcessing": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "createdUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextAfterSortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "nextAfterCreatedUtc": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "nextAfterRuleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      },
      "post": {
        "tags": [
          "TenantInboxRoutingRules"
        ],
        "summary": "Create Inbox Routing Rules.",
        "description": "Organization owner only. An active rule needs an action: a queue, a person, a DataRole, a priority or an action object. Conditions and actions follow schema version 1. Targets must be active in this organization.",
        "operationId": "developerPostV1AppsInboxRoutingRules",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRuleSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRuleSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRuleSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "rule"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "rule": {
                      "required": [
                        "inboxRoutingRuleId",
                        "ruleName",
                        "sourceType",
                        "sourceKey",
                        "channelTypeId",
                        "channelKey",
                        "eventType",
                        "minPriority",
                        "condition",
                        "inboxQueueId",
                        "queueName",
                        "assignToUserId",
                        "assignToUserName",
                        "assignToDataRoleId",
                        "assignToDataRoleName",
                        "setPriority",
                        "action",
                        "stopProcessing",
                        "sortOrder",
                        "isActive",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "inboxRoutingRuleId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "ruleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "channelTypeId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "channelKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "eventType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "minPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "condition": { },
                        "inboxQueueId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "queueName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "assignToUserId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "assignToUserName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "assignToDataRoleId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "assignToDataRoleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "setPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "action": { },
                        "stopProcessing": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/routing-rules/targets": {
      "get": {
        "tags": [
          "TenantInboxRoutingRules"
        ],
        "summary": "Targets for Inbox Routing Rules.",
        "description": "kind is queue, user, datarole or channel. Keyset pagination by id: pass nextAfterKey as afterKey. The rule save checks every target again.",
        "operationId": "developerGetV1AppsInboxRoutingRulesTargets",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^(queue|user|datarole|channel)$",
              "type": "string"
            }
          },
          {
            "name": "afterKey",
            "in": "query",
            "schema": {
              "maxLength": 36,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "maxLength": 200,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "kind",
                    "items",
                    "hasMore",
                    "nextAfterKey"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "kind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "id",
                          "label",
                          "detail"
                        ],
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "detail": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextAfterKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/routing-rules/{ruleId}": {
      "get": {
        "tags": [
          "TenantInboxRoutingRules"
        ],
        "summary": "Get Inbox Routing Rules.",
        "operationId": "developerGetV1AppsInboxRoutingRulesRuleIdGuid",
        "parameters": [
          {
            "name": "ruleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "rule"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "rule": {
                      "required": [
                        "inboxRoutingRuleId",
                        "ruleName",
                        "sourceType",
                        "sourceKey",
                        "channelTypeId",
                        "channelKey",
                        "eventType",
                        "minPriority",
                        "condition",
                        "inboxQueueId",
                        "queueName",
                        "assignToUserId",
                        "assignToUserName",
                        "assignToDataRoleId",
                        "assignToDataRoleName",
                        "setPriority",
                        "action",
                        "stopProcessing",
                        "sortOrder",
                        "isActive",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "inboxRoutingRuleId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "ruleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "channelTypeId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "channelKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "eventType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "minPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "condition": { },
                        "inboxQueueId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "queueName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "assignToUserId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "assignToUserName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "assignToDataRoleId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "assignToDataRoleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "setPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "action": { },
                        "stopProcessing": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      },
      "put": {
        "tags": [
          "TenantInboxRoutingRules"
        ],
        "summary": "Update Inbox Routing Rules.",
        "description": "Requires expectedUpdatedUtc exactly as read (all seven fractional digits). A 409 means the rule changed: reload and review; do not blindly retry. Every change is audited.",
        "operationId": "developerPutV1AppsInboxRoutingRulesRuleIdGuid",
        "parameters": [
          {
            "name": "ruleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRuleSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRuleSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRuleSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "rule"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "rule": {
                      "required": [
                        "inboxRoutingRuleId",
                        "ruleName",
                        "sourceType",
                        "sourceKey",
                        "channelTypeId",
                        "channelKey",
                        "eventType",
                        "minPriority",
                        "condition",
                        "inboxQueueId",
                        "queueName",
                        "assignToUserId",
                        "assignToUserName",
                        "assignToDataRoleId",
                        "assignToDataRoleName",
                        "setPriority",
                        "action",
                        "stopProcessing",
                        "sortOrder",
                        "isActive",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "inboxRoutingRuleId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "ruleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "channelTypeId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "channelKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "eventType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "minPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "condition": { },
                        "inboxQueueId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "queueName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "assignToUserId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "assignToUserName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "assignToDataRoleId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "assignToDataRoleName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "setPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "action": { },
                        "stopProcessing": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/sla-policies": {
      "get": {
        "tags": [
          "TenantInboxSlaPolicies"
        ],
        "summary": "List Inbox Sla Policies.",
        "description": "Organization owner only. A policy covers one channel (or any) and one priority 1-3 (or any); at most one active policy covers each combination.",
        "operationId": "developerGetV1AppsInboxSlaPolicies",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "items",
                    "hasMore",
                    "nextAfterId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "slaPolicyId",
                          "channelTypeId",
                          "channelKey",
                          "priority",
                          "firstResponseMinutes",
                          "resolutionMinutes",
                          "businessHoursOnly",
                          "isActive",
                          "activeQueueCount",
                          "createdUtc",
                          "updatedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "slaPolicyId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "channelTypeId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "firstResponseMinutes": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "resolutionMinutes": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "businessHoursOnly": {
                            "type": "boolean"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "activeQueueCount": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "createdUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextAfterId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      },
      "post": {
        "tags": [
          "TenantInboxSlaPolicies"
        ],
        "summary": "Create Inbox Sla Policies.",
        "description": "firstResponseMinutes 1-525600; resolutionMinutes at least firstResponseMinutes. A 409 means another active policy already covers the same channel and priority.",
        "operationId": "developerPostV1AppsInboxSlaPolicies",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SlaPolicySaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SlaPolicySaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SlaPolicySaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "policy"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "policy": {
                      "required": [
                        "slaPolicyId",
                        "channelTypeId",
                        "channelKey",
                        "priority",
                        "firstResponseMinutes",
                        "resolutionMinutes",
                        "businessHoursOnly",
                        "isActive",
                        "activeQueueCount",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "slaPolicyId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "channelTypeId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "channelKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "priority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "firstResponseMinutes": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "resolutionMinutes": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "businessHoursOnly": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "activeQueueCount": {
                          "type": "integer",
                          "format": "int64"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/sla-policies/{policyId}": {
      "put": {
        "tags": [
          "TenantInboxSlaPolicies"
        ],
        "summary": "Update Inbox Sla Policies.",
        "description": "Requires expectedUpdatedUtc exactly as read (all seven fractional digits). Every change is audited.",
        "operationId": "developerPutV1AppsInboxSlaPoliciesPolicyIdGuid",
        "parameters": [
          {
            "name": "policyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SlaPolicySaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SlaPolicySaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SlaPolicySaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "outcome",
                    "policy"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outcome": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "policy": {
                      "required": [
                        "slaPolicyId",
                        "channelTypeId",
                        "channelKey",
                        "priority",
                        "firstResponseMinutes",
                        "resolutionMinutes",
                        "businessHoursOnly",
                        "isActive",
                        "activeQueueCount",
                        "createdUtc",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "slaPolicyId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "channelTypeId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "channelKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "priority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "firstResponseMinutes": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "resolutionMinutes": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "businessHoursOnly": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "activeQueueCount": {
                          "type": "integer",
                          "format": "int64"
                        },
                        "createdUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/queues/sla": {
      "get": {
        "tags": [
          "TenantInboxSlaPolicies"
        ],
        "summary": "Queues for Inbox Sla Policies.",
        "operationId": "developerGetV1AppsInboxQueuesSla",
        "parameters": [
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "items",
                    "hasMore",
                    "nextAfterId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "inboxQueueId",
                          "queueName",
                          "isSupportLane",
                          "isDefault",
                          "slaPolicyId",
                          "slaPolicyIsActive",
                          "updatedUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "inboxQueueId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "queueName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isSupportLane": {
                            "type": "boolean"
                          },
                          "isDefault": {
                            "type": "boolean"
                          },
                          "slaPolicyId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "slaPolicyIsActive": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextAfterId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/queues/{queueId}/sla": {
      "put": {
        "tags": [
          "TenantInboxSlaPolicies"
        ],
        "summary": "Set Queue for Inbox Sla Policies.",
        "description": "Requires the queue's updatedUtc as expectedUpdatedUtc. The policy must be active in this organization. Audited.",
        "operationId": "developerPutV1AppsInboxQueuesQueueIdGuidSla",
        "parameters": [
          {
            "name": "queueId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueueSlaSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QueueSlaSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QueueSlaSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "queue"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "queue": {
                      "required": [
                        "inboxQueueId",
                        "queueName",
                        "isSupportLane",
                        "isDefault",
                        "slaPolicyId",
                        "slaPolicyIsActive",
                        "updatedUtc"
                      ],
                      "type": "object",
                      "properties": {
                        "inboxQueueId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "queueName": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "isSupportLane": {
                          "type": "boolean"
                        },
                        "isDefault": {
                          "type": "boolean"
                        },
                        "slaPolicyId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "slaPolicyIsActive": {
                          "type": [
                            "null",
                            "boolean"
                          ]
                        },
                        "updatedUtc": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles": {
      "get": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "List Knowledge Articles.",
        "operationId": "developerGetV1AppsModulesKnowledgeArticles",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeDrafts",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeArticleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "category": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isPublished": {
                            "type": "boolean"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "post": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Create Knowledge Articles.",
        "operationId": "developerPostV1AppsModulesKnowledgeArticles",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles/count": {
      "get": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Count Knowledge Articles.",
        "operationId": "developerGetV1AppsModulesKnowledgeArticlesCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeDrafts",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles/{recordId}": {
      "get": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Get Knowledge Articles.",
        "operationId": "developerGetV1AppsModulesKnowledgeArticlesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "articleBody": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "category": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPublished": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "put": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Update Knowledge Articles.",
        "operationId": "developerPutV1AppsModulesKnowledgeArticlesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Remove Knowledge Articles.",
        "description": "Soft-deletes an authorized Knowledge article using its latest expectedUpdatedUtc revision, retaining its content and native state. The deletion receipt is available in secured deletion history; restore rechecks current record permissions and also requires current publishing authority for previously published content. Missing or invalid input returns 400; an unavailable target returns 404 (knowledge_articles_not_found); a stale revision returns 409 (knowledge_articles_conflict). Refresh the article and ask the user to confirm again after a conflict; do not blindly retry with a new revision.",
        "operationId": "developerDeleteV1AppsModulesKnowledgeArticlesRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string",
              "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found Error code: knowledge_articles_not_found.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict Error code: knowledge_articles_conflict.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "deletionEventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "deletionScope": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Favorite for Knowledge Articles.",
        "operationId": "developerPutV1AppsModulesKnowledgeArticlesRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArticleFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles/lego/catalog": {
      "get": {
        "tags": [
          "TenantKnowledgeArticles"
        ],
        "summary": "Lego Catalog for Knowledge Articles.",
        "operationId": "developerGetV1AppsModulesKnowledgeArticlesLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles/export/capability": {
      "get": {
        "tags": [
          "TenantKnowledgeArticlesExport"
        ],
        "summary": "Get Export Capability for Knowledge Articles Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesKnowledgeArticlesExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-articles/export": {
      "get": {
        "tags": [
          "TenantKnowledgeArticlesExport"
        ],
        "summary": "Export Knowledge Articles Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesKnowledgeArticlesExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeDrafts",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "List Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCore",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lifecycleStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canManage": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeArticleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "slug": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "category": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "knowledgeType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lifecycleStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isAiEligible": {
                            "type": "boolean"
                          },
                          "isSupportEligible": {
                            "type": "boolean"
                          },
                          "currentRevisionNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "nextReviewUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "freshnessStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Create Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCore",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currentRevisionNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/count": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Count Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lifecycleStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Get Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "articleBody": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "reviewPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "lastReviewedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "publishedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canPublish": {
                      "type": "boolean"
                    },
                    "canArchive": {
                      "type": "boolean"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "slug": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "category": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "knowledgeType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "authorityLevel": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isAiEligible": {
                      "type": "boolean"
                    },
                    "isSupportEligible": {
                      "type": "boolean"
                    },
                    "currentRevisionNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "nextReviewUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "freshnessStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "put": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Update Knowledge Core.",
        "operationId": "developerPutV1AppsModulesKnowledgeCoreRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currentRevisionNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/publish": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Publish for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreRecordIdGuidPublish",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreTransitionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreTransitionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreTransitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currentRevisionNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/archive": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Archive for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreRecordIdGuidArchive",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreTransitionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreTransitionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreTransitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currentRevisionNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/revisions": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Revisions for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreRecordIdGuidRevisions",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeRevisionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "revisionNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "changeNote": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contentHash": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdByUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "publishedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/restore": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Restore for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreRecordIdGuidRestore",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreRestoreRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreRestoreRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreRestoreRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currentRevisionNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/collections": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Collections for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreCollections",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "collectionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "name": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "parentCollectionId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "defaultReviewPolicyId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "isSupportCollection": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "itemCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Create Collection for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreCollections",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreCollectionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreCollectionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreCollectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "collectionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/collections/{collectionId}": {
      "put": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Update Collection for Knowledge Core.",
        "operationId": "developerPutV1AppsModulesKnowledgeCoreCollectionsCollectionIdGuid",
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreCollectionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreCollectionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreCollectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "collectionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/collections/{collectionId}/items/{recordId}": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Add Collection Item for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreCollectionsCollectionIdGuidItemsRecordIdGuid",
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "collectionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Remove Collection Item for Knowledge Core.",
        "operationId": "developerDeleteV1AppsModulesKnowledgeCoreCollectionsCollectionIdGuidItemsRecordIdGuid",
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "collectionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/owners": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Owners for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreRecordIdGuidOwners",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeOwnerId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "userId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "dataRoleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "responsibilityType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "assignedUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Set Owner for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreRecordIdGuidOwners",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreOwnerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreOwnerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeCoreOwnerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeOwnerId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/owners/{knowledgeOwnerId}": {
      "delete": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Remove Owner for Knowledge Core.",
        "operationId": "developerDeleteV1AppsModulesKnowledgeCoreOwnersKnowledgeOwnerIdGuid",
        "parameters": [
          {
            "name": "knowledgeOwnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeOwnerId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/unowned": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Unowned for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreUnowned",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canManage": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeArticleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "slug": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "category": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "knowledgeType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lifecycleStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isAiEligible": {
                            "type": "boolean"
                          },
                          "isSupportEligible": {
                            "type": "boolean"
                          },
                          "currentRevisionNumber": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "nextReviewUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "freshnessStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/assignment-lookup": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Assignment Lookup for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreAssignmentLookup",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topN",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "users": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": { },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "targetType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "roles": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": { },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "targetType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/reviews": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Reviews for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreReviews",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canManage": {
                      "type": "boolean"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "reviewCycleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dueUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assignedUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "assignedDataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "taskRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/reviews/{reviewCycleId}/begin": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Begin Review for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreReviewsReviewCycleIdGuidBegin",
        "parameters": [
          {
            "name": "reviewCycleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewTransitionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewTransitionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewTransitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "reviewCycleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "completedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextReviewUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/reviews/{reviewCycleId}/complete": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Complete Review for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreReviewsReviewCycleIdGuidComplete",
        "parameters": [
          {
            "name": "reviewCycleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewTransitionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewTransitionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewTransitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "reviewCycleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "completedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextReviewUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/reviews/{reviewCycleId}/reassign": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Reassign Review for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreReviewsReviewCycleIdGuidReassign",
        "parameters": [
          {
            "name": "reviewCycleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewReassignRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewReassignRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeReviewReassignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "reviewCycleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "completedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextReviewUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/health": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Health for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreHealth",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "calculatedUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "publishedCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "draftCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "archivedCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "reviewDueCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dueSoonCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "staleCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "unownedCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "openQuestionCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeGapCandidateCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outdatedOrIncorrectFeedbackCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "supportCandidateCount": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/questions": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Questions for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreQuestions",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canAnswer": {
                      "type": "boolean"
                    },
                    "canManage": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "canEditText": {
                            "type": "boolean"
                          },
                          "canClose": {
                            "type": "boolean"
                          },
                          "knowledgeQuestionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "contextRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "questionText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assignedUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "assignedDataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "answerText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "answerKnowledgeRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "occurrenceCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "answeredUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Create Question for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreQuestions",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeQuestionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "occurrenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "duplicateGroupKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "answerKnowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "answeredUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/questions/{knowledgeQuestionId}": {
      "put": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Edit Question for Knowledge Core.",
        "operationId": "developerPutV1AppsModulesKnowledgeCoreQuestionsKnowledgeQuestionIdGuid",
        "parameters": [
          {
            "name": "knowledgeQuestionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionEditRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionEditRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionEditRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeQuestionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "occurrenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "duplicateGroupKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "answerKnowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "answeredUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/questions/{knowledgeQuestionId}/close": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Close Question for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreQuestionsKnowledgeQuestionIdGuidClose",
        "parameters": [
          {
            "name": "knowledgeQuestionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionCloseRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionCloseRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionCloseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeQuestionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "occurrenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "duplicateGroupKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "answerKnowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "answeredUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/questions/{knowledgeQuestionId}/assign": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Assign Question for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreQuestionsKnowledgeQuestionIdGuidAssign",
        "parameters": [
          {
            "name": "knowledgeQuestionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionAssignRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionAssignRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionAssignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeQuestionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "occurrenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "duplicateGroupKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "answerKnowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "answeredUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/questions/{knowledgeQuestionId}/answer": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Answer Question for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreQuestionsKnowledgeQuestionIdGuidAnswer",
        "parameters": [
          {
            "name": "knowledgeQuestionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionAnswerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionAnswerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionAnswerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeQuestionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "occurrenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "duplicateGroupKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "answerKnowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "answeredUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/questions/{knowledgeQuestionId}/convert": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Convert Question for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreQuestionsKnowledgeQuestionIdGuidConvert",
        "parameters": [
          {
            "name": "knowledgeQuestionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionConvertRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionConvertRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeQuestionConvertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeQuestionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "occurrenceId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "duplicateGroupKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "answerKnowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "answeredUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/feedback": {
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Record Feedback for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreRecordIdGuidFeedback",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeFeedbackRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeFeedbackRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeFeedbackRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeFeedbackId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "feedbackType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      },
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Feedback Summary for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreRecordIdGuidFeedback",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "totalCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "helpfulCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "notHelpfulCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "outdatedCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "incorrectCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "missingDetailCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "conflictingCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "latestFeedbackUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/{recordId}/feedback/comments": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Feedback Comments for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreRecordIdGuidFeedbackComments",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "beforeUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "beforeFeedbackId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "knowledgeRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeFeedbackId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "feedbackType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "comment": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/gaps": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Gaps for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreGaps",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 90
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "sinceUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "gapType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "gapKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "supportingCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "openCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "knowledgeRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "latestSignalUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "sourceLinks": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "knowledgeQuestionId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                },
                                "contextRecordId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                },
                                "knowledgeRecordId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                },
                                "href": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/support-learning/candidates": {
      "get": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Support Learning Candidates for Knowledge Core.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreSupportLearningCandidates",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "supportResolutionLinkId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "knowledgeArticleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "lifecycleStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isAiEligible": {
                            "type": "boolean"
                          },
                          "isSupportEligible": {
                            "type": "boolean"
                          },
                          "ownerUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "ownerDataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "reviewTaskRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceInboxItemId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceActivityVersion": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "sanitizationPolicyVersion": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "candidateContentHash": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "correlationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      },
      "post": {
        "tags": [
          "TenantKnowledgeCore"
        ],
        "summary": "Create Support Learning Candidate for Knowledge Core.",
        "operationId": "developerPostV1AppsModulesKnowledgeCoreSupportLearningCandidates",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportResolutionCandidateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportResolutionCandidateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SupportResolutionCandidateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "supportResolutionLinkId",
                    "knowledgeArticleId",
                    "recordId",
                    "reviewTaskRecordId",
                    "lifecycleStatus",
                    "authorityLevel",
                    "isAiEligible",
                    "isSupportEligible",
                    "candidateContentHash",
                    "correlationId",
                    "replayed"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "supportResolutionLinkId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeArticleId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "reviewTaskRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "lifecycleStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "authorityLevel": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isAiEligible": {
                      "type": "boolean"
                    },
                    "isSupportEligible": {
                      "type": "boolean"
                    },
                    "candidateContentHash": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "replayed": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/export/capability": {
      "get": {
        "tags": [
          "TenantKnowledgeCoreExport"
        ],
        "summary": "Get Export Capability for Knowledge Core Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/knowledge-core/export": {
      "get": {
        "tags": [
          "TenantKnowledgeCoreExport"
        ],
        "summary": "Export Knowledge Core Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesKnowledgeCoreExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lifecycleStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.knowledge-articles.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/mail-reader": {
      "get": {
        "tags": [
          "TenantMailReader"
        ],
        "summary": "List Mail Reader.",
        "operationId": "developerGetV1AppsModulesMailReader",
        "parameters": [
          {
            "name": "mailAccountId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unreadOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "accounts": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "mailAccountId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "accountName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "emailAddress": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "email"
                          },
                          "providerType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isShared": {
                            "type": "boolean"
                          },
                          "messageCount": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "unreadCount": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "mailReaderMessageId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "mailAccountId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "accountName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "accountEmailAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fromAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "toAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ccAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "previewText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "hasHtmlBody": {
                            "type": "boolean"
                          },
                          "receivedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "isRead": {
                            "type": "boolean"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canMarkRead": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "isPersonal": {
                            "type": "boolean"
                          },
                          "canArchive": {
                            "type": "boolean"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.mail-reader.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/mail-reader/{recordId}": {
      "get": {
        "tags": [
          "TenantMailReader"
        ],
        "summary": "Get Mail Reader.",
        "operationId": "developerGetV1AppsModulesMailReaderRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "selectedAttachmentRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "providerType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isSharedAccount": {
                      "type": "boolean"
                    },
                    "bodyText": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    },
                    "attachments": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "attachmentIndex",
                          "fileName",
                          "mimeType",
                          "sizeBytes",
                          "isInline"
                        ],
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "attachmentIndex": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fileName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "mimeType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sizeBytes": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "isInline": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "mailReaderMessageId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "mailAccountId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "accountName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "accountEmailAddress": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "fromAddress": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "toAddress": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ccAddress": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "subject": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "previewText": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "hasHtmlBody": {
                      "type": "boolean"
                    },
                    "receivedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "isRead": {
                      "type": "boolean"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "canMarkRead": {
                      "type": "boolean"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPersonal": {
                      "type": "boolean"
                    },
                    "canArchive": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.mail-reader.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/mail-reader/{recordId}/read": {
      "put": {
        "tags": [
          "TenantMailReader"
        ],
        "summary": "Set Read for Mail Reader.",
        "operationId": "developerPutV1AppsModulesMailReaderRecordIdGuidRead",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailReaderReadRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MailReaderReadRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MailReaderReadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "mailReaderMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isRead": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "archived": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.mail-reader.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/mail-reader/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantMailReader"
        ],
        "summary": "Set Favorite for Mail Reader.",
        "operationId": "developerPutV1AppsModulesMailReaderRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailReaderFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MailReaderFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MailReaderFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "mailReaderMessageId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isRead": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "archived": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.mail-reader.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/notifications": {
      "get": {
        "tags": [
          "TenantNotifications"
        ],
        "summary": "List Notifications.",
        "operationId": "developerGetV1AppsModulesNotifications",
        "parameters": [
          {
            "name": "unreadOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "dismissedOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "unreadCount": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "notificationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "notificationType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "category": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "bodyText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "actionUrl": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": "integer",
                            "format": "uint8"
                          },
                          "deliveryStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRead": {
                            "type": "boolean"
                          },
                          "isDismissed": {
                            "type": "boolean"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "sourceTitle": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isSourceFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.notifications.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/notifications/lego-catalog": {
      "get": {
        "tags": [
          "TenantNotifications"
        ],
        "summary": "Lego Catalog for Notifications.",
        "operationId": "developerGetV1AppsModulesNotificationsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.notifications.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/notifications/lego-presentation": {
      "get": {
        "tags": [
          "TenantNotifications"
        ],
        "summary": "Lego Presentation for Notifications.",
        "operationId": "developerGetV1AppsModulesNotificationsLegoPresentation",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presentationVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "kind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "columns": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "type": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "align": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "rows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "cells": {
                            "type": [
                              "null",
                              "object"
                            ]
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "revision": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "tone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "pageNumber": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "hasMore": {
                          "type": "boolean"
                        },
                        "totalRecords": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int64"
                        },
                        "totalIsExact": {
                          "type": "boolean"
                        },
                        "nextPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "nextLastActivityUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "nextRecordId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.notifications.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/notifications/{notificationId}": {
      "get": {
        "tags": [
          "TenantNotifications"
        ],
        "summary": "Get Notifications.",
        "operationId": "developerGetV1AppsModulesNotificationsNotificationIdGuid",
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "notificationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "notificationType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "category": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "subject": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "bodyText": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "actionUrl": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "priority": {
                      "type": "integer",
                      "format": "uint8"
                    },
                    "deliveryStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isRead": {
                      "type": "boolean"
                    },
                    "isDismissed": {
                      "type": "boolean"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "sourceTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isSourceFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.notifications.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/notifications/{notificationId}/state": {
      "put": {
        "tags": [
          "TenantNotifications"
        ],
        "summary": "Set State for Notifications.",
        "operationId": "developerPutV1AppsModulesNotificationsNotificationIdGuidState",
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationStateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationStateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "notificationId",
                    "isRead",
                    "isDismissed",
                    "updatedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "auditEventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "notificationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isRead": {
                      "type": "boolean"
                    },
                    "isDismissed": {
                      "type": "boolean"
                    },
                    "isSourceFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision;preserve every fractional digit for the next state change."
                    }
                  },
                  "description": "Confirmed Notifications mutation receipt. A failure after dispatch does not prove rollback;reconcile before repeating. State auditEventId is optional when dismissal did not transition;source-favorite does not return a notification revision."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.notifications.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/notifications/{notificationId}/source-favorite": {
      "put": {
        "tags": [
          "TenantNotifications"
        ],
        "summary": "Set Favorite for Notifications.",
        "operationId": "developerPutV1AppsModulesNotificationsNotificationIdGuidSourceFavorite",
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "notificationId",
                    "sourceRecordId",
                    "isSourceFavorite"
                  ],
                  "type": "object",
                  "properties": {
                    "auditEventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "notificationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRecordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "isRead": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isDismissed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isSourceFavorite": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  },
                  "description": "Confirmed Notifications mutation receipt. A failure after dispatch does not prove rollback;reconcile before repeating. State auditEventId is optional when dismissal did not transition;source-favorite does not return a notification revision."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.notifications.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/settings": {
      "get": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Get Settings for Payments.",
        "operationId": "developerGetV1AppsModulesPaymentsSettings",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canManage": {
                      "type": "boolean"
                    },
                    "canCollect": {
                      "type": "boolean"
                    },
                    "policies": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "paymentPolicyId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "collectionMode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "chargeTiming": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "depositBasisPoints": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "currencyCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "allowPartialPayments": {
                            "type": "boolean"
                          },
                          "minimumChargeCents": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "requirePaidBeforeCompletion": {
                            "type": "boolean"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          }
                        }
                      }
                    },
                    "connectors": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "connectorId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "connectorKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "processor": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "credentialReference": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "webhookSecretReference": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isTestMode": {
                            "type": "boolean"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "modifiedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/settings/{moduleKey}": {
      "put": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Update Policy for Payments.",
        "operationId": "developerPutV1AppsModulesPaymentsSettingsModuleKey",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentPolicyWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentPolicyWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentPolicyWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "paymentPolicyId",
                    "moduleKey",
                    "isActive",
                    "updatedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": "boolean"
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "paymentMethodId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "enum": [
                        "Reservations",
                        "WorkOrders"
                      ],
                      "type": "string"
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/connectors": {
      "put": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Upsert Connector for Payments.",
        "operationId": "developerPutV1AppsModulesPaymentsConnectors",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentConnectorWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentConnectorWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentConnectorWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "connectorId",
                    "connectorKey",
                    "isActive",
                    "modifiedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "pattern": "\\S",
                      "type": "string"
                    },
                    "isActive": {
                      "type": "boolean"
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    },
                    "paymentMethodId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/connectors/{connectorId}": {
      "delete": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Deactivate Connector for Payments.",
        "operationId": "developerDeleteV1AppsModulesPaymentsConnectorsConnectorIdGuid",
        "parameters": [
          {
            "name": "connectorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentConnectorDeactivateWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentConnectorDeactivateWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentConnectorDeactivateWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "connectorId",
                    "connectorKey",
                    "isActive",
                    "modifiedUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "pattern": "\\S",
                      "type": "string"
                    },
                    "isActive": {
                      "enum": [
                        false
                      ],
                      "type": "boolean"
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    },
                    "paymentMethodId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/methods": {
      "get": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "List Methods for Payments.",
        "operationId": "developerGetV1AppsModulesPaymentsMethods",
        "parameters": [
          {
            "name": "customerRecordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "contractVersion": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "paymentMethodId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "customerRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "connectorId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "connectorIsTestMode": {
                            "type": "boolean"
                          },
                          "processor": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "methodType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "brand": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "last4": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "expMonth": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "expYear": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "isDefault": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "consentCapturedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "revokedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.read"
        ]
      },
      "post": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Create Method for Payments.",
        "operationId": "developerPostV1AppsModulesPaymentsMethods",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodCreateWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodCreateWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodCreateWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "paymentMethodId",
                    "customerRecordId",
                    "updatedUtc",
                    "status",
                    "isDefault",
                    "connectorIsTestMode"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "paymentMethodId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": "boolean"
                    },
                    "connectorIsTestMode": {
                      "type": "boolean"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "enum": [
                        "Active"
                      ],
                      "type": "string"
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/methods/{paymentMethodId}": {
      "get": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Get Method for Payments.",
        "operationId": "developerGetV1AppsModulesPaymentsMethodsPaymentMethodIdGuid",
        "parameters": [
          {
            "name": "paymentMethodId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentMethodId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "connectorIsTestMode": {
                      "type": "boolean"
                    },
                    "processor": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "methodType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "brand": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "last4": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "expMonth": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "expYear": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "isDefault": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "consentCapturedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "revokedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.read"
        ]
      },
      "delete": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Revoke Method for Payments.",
        "operationId": "developerDeleteV1AppsModulesPaymentsMethodsPaymentMethodIdGuid",
        "parameters": [
          {
            "name": "paymentMethodId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodRevokeWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodRevokeWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodRevokeWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "paymentMethodId",
                    "customerRecordId",
                    "updatedUtc",
                    "status",
                    "isDefault"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "paymentMethodId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "isDefault": {
                      "enum": [
                        false
                      ],
                      "type": "boolean"
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "enum": [
                        "Revoked"
                      ],
                      "type": "string"
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/methods/{paymentMethodId}/default": {
      "put": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Set Method Default for Payments.",
        "operationId": "developerPutV1AppsModulesPaymentsMethodsPaymentMethodIdGuidDefault",
        "parameters": [
          {
            "name": "paymentMethodId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodDefaultWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodDefaultWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentMethodDefaultWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "paymentMethodId",
                    "customerRecordId",
                    "updatedUtc",
                    "status",
                    "isDefault"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "paymentMethodId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": "boolean"
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "status": {
                      "enum": [
                        "Active"
                      ],
                      "type": "string"
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/records/{recordId}": {
      "get": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Get Record Summary for Payments.",
        "operationId": "developerGetV1AppsModulesPaymentsRecordsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "expectedAmountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "paidAmountCents": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "dueAmountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "payments": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "paymentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "amountCents": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "currencyCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "paymentMethod": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "externalPaymentId": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "receivedUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "chargeIntents": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "chargeIntentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "amountCents": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "currencyCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "leaseVersion": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "canCancel": {
                            "type": "boolean"
                          },
                          "failureReason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "cancellationReason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "completedUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "cancelledUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/records/{recordId}/charges": {
      "post": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Create Charge for Payments.",
        "operationId": "developerPostV1AppsModulesPaymentsRecordsRecordIdGuidCharges",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChargeWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChargeWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChargeWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "recordId",
                    "chargeIntentId",
                    "moduleKey",
                    "status",
                    "amountCents",
                    "currencyCode"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "paymentMethodId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "enum": [
                        "Reservations"
                      ],
                      "type": "string"
                    },
                    "chargeIntentId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "enum": [
                        "Pending",
                        "Processing",
                        "RequiresAction",
                        "Succeeded",
                        "Failed",
                        "Cancelled"
                      ],
                      "type": "string"
                    },
                    "amountCents": {
                      "minimum": 1,
                      "type": "integer",
                      "format": "int64"
                    },
                    "currencyCode": {
                      "pattern": "^[A-Z]{3}$",
                      "type": "string"
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "leaseVersion": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/records/{recordId}/charges/{chargeIntentId}": {
      "delete": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Cancel Charge for Payments.",
        "operationId": "developerDeleteV1AppsModulesPaymentsRecordsRecordIdGuidChargesChargeIntentIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "chargeIntentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChargeCancelWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChargeCancelWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChargeCancelWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "correlationId",
                    "recordId",
                    "chargeIntentId",
                    "status",
                    "leaseVersion",
                    "cancelledUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer",
                      "format": "int32"
                    },
                    "paymentPolicyId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "connectorKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "modifiedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "paymentMethodId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "customerRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "isDefault": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "connectorIsTestMode": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "recordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "status": {
                      "enum": [
                        "Cancelled"
                      ],
                      "type": "string"
                    },
                    "amountCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "leaseVersion": {
                      "minimum": 1,
                      "type": "integer",
                      "format": "int64"
                    },
                    "cancelledUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                      "type": "string",
                      "description": "Opaque UTC revision. Preserve every fractional digit; do not round through a JavaScript Date."
                    }
                  },
                  "description": "Operation-specific native payment acknowledgement. Legacy optional DTO fields remain; receipt target consistency does not establish caller authority."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/attention": {
      "get": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "List Attention for Payments.",
        "operationId": "developerGetV1AppsModulesPaymentsAttention",
        "parameters": [
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "chargeIntentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "reservationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "amountCents": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "currencyCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "capturedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "reason": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "errorNumber": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "reservationStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "startUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "endUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "partySize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "leaseVersion": {
                            "type": "integer",
                            "format": "int64"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/payments/records/{recordId}/charges/{chargeIntentId}/attention": {
      "post": {
        "tags": [
          "TenantPayments"
        ],
        "summary": "Resolve Attention for Payments.",
        "operationId": "developerPostV1AppsModulesPaymentsRecordsRecordIdGuidChargesChargeIntentIdGuidAttention",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "chargeIntentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentAttentionWrite"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentAttentionWrite"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPaymentAttentionWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "chargeIntentId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "resolution": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "reservationStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "leaseVersion": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "resolvedUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.payments.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-activity/records": {
      "get": {
        "tags": [
          "TenantRecordActivity"
        ],
        "summary": "Search Record Activity.",
        "operationId": "developerGetV1AppsModulesRecordActivityRecords",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "afterTitle",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "afterRecordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "nextRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "modules": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-activity.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-activity/{recordId}": {
      "get": {
        "tags": [
          "TenantRecordActivity"
        ],
        "summary": "Get Record Activity.",
        "operationId": "developerGetV1AppsModulesRecordActivityRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "activityType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "recordId",
                    "title",
                    "moduleKey",
                    "moduleName",
                    "canEdit",
                    "canAiRead",
                    "isFavorite",
                    "createdUtc",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "relationCount",
                    "activityTypes",
                    "items",
                    "dynamicFields"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "moduleName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canAiRead": {
                      "type": "boolean"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityTypes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activityType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "activityKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "activityType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "occurredUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "actorUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "actorDisplayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "activityState": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "detail": { }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-activity.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-activity/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantRecordActivity"
        ],
        "summary": "Set Favorite for Record Activity.",
        "operationId": "developerPutV1AppsModulesRecordActivityRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordActivityFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordActivityFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordActivityFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "userFavoriteId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "trackChanges": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "sortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-activity.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/record-deletions": {
      "get": {
        "tags": [
          "TenantRecordDeletion"
        ],
        "summary": "Lists deletion and restore events that remain inside the current verified user's record, DataRole, location, and participant permissions.",
        "description": "Lists deletion and restore events that remain inside the current verified user's record, DataRole, location, and participant permissions. Historical audit rows grant no new read authority.",
        "operationId": "developerGetV1AppsRuntimeRecordDeletions",
        "parameters": [
          {
            "name": "beforeUtc",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "beforeEventId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "eventId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "deletionEventId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "changeType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "occurredUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canRestore": {
                            "type": "boolean"
                          },
                          "auditDeliveredUtc": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isPersonal": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          }
                        }
                      }
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextBeforeUtc": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "nextBeforeEventId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/record-deletions/{recordId}/restore": {
      "post": {
        "tags": [
          "TenantRecordDeletion"
        ],
        "summary": "Restore for Record Deletion.",
        "description": "Restores a current soft-deleted copy or shared record with its exact deletionEventId receipt. SQL rechecks current permissions; permanent deletions cannot be restored.",
        "operationId": "developerPostV1AppsRuntimeRecordDeletionsRecordIdGuidRestore",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordRestoreRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordRestoreRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordRestoreRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "restoredForUser": {
                      "type": "boolean"
                    },
                    "deletionScope": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "restoreEventId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "deletionEventId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "restoredUtc": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "replayed": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/runtime/record-deletions/{recordId}/permanent": {
      "post": {
        "tags": [
          "TenantRecordDeletion"
        ],
        "summary": "Make Permanent for Record Deletion.",
        "description": "Makes a current soft deletion irreversible using its exact deletionEventId receipt. This is logical permanent deletion: the record stays hidden and cannot be restored, while linked rows, SQL temporal history, and the immutable audit trail remain. API callers own their confirmation UI.",
        "operationId": "developerPostV1AppsRuntimeRecordDeletionsRecordIdGuidPermanent",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordRestoreRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordRestoreRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordRestoreRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "deletionEventId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "permanentEventId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "deletionScope": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "occurredUtc": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "records.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/records": {
      "get": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Search Record Graph.",
        "operationId": "developerGetV1AppsModulesRecordGraphRecords",
        "parameters": [
          {
            "name": "moduleKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "afterTitle",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "afterRecordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "nextTitle",
                    "nextRecordId",
                    "modules",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextTitle": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "nextRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "modules": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/{recordId}": {
      "get": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Get Record Graph.",
        "operationId": "developerGetV1AppsModulesRecordGraphRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "maxDepth",
            "in": "query",
            "schema": {
              "maximum": 5,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 2
            }
          },
          {
            "name": "maxNodes",
            "in": "query",
            "schema": {
              "maximum": 200,
              "minimum": 2,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seedRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "depthReached": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "nodeCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "nodes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "depth": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "edges": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordRelationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "fromRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "toRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "relationKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "relationTypes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "relationKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/{recordId}/relations": {
      "get": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Reads currently authorized relationships for the requested seed.",
        "description": "Reads currently authorized relationships for the requested seed. Continuation requires both afterSortOrder and afterRecordRelationId exactly as returned, once each; blank, duplicate or incomplete cursor values return 400. A missing cursor starts a fresh page. hasMore controls continuation; loaded rows are snapshots and do not authorize edits.",
        "operationId": "developerGetV1AppsModulesRecordGraphRecordIdGuidRelations",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "afterSortOrder",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "afterRecordRelationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "seedRecordId",
                    "pageSize",
                    "hasMore",
                    "nextCursor",
                    "items"
                  ],
                  "type": "object",
                  "oneOf": [
                    {
                      "required": [
                        "hasMore",
                        "nextCursor"
                      ],
                      "type": "object",
                      "properties": {
                        "hasMore": {
                          "enum": [
                            true
                          ],
                          "type": "boolean"
                        },
                        "nextCursor": {
                          "required": [
                            "sortOrder",
                            "recordRelationId"
                          ],
                          "type": "object",
                          "properties": {
                            "sortOrder": {
                              "maximum": 2147483647,
                              "minimum": -2147483648,
                              "type": "integer",
                              "format": "int32"
                            },
                            "recordRelationId": {
                              "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    {
                      "required": [
                        "hasMore",
                        "nextCursor"
                      ],
                      "type": "object",
                      "properties": {
                        "hasMore": {
                          "enum": [
                            false
                          ],
                          "type": "boolean"
                        },
                        "nextCursor": {
                          "type": "null"
                        }
                      }
                    }
                  ],
                  "properties": {
                    "contractVersion": {
                      "enum": [
                        1
                      ],
                      "type": "integer"
                    },
                    "seedRecordId": {
                      "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "maximum": 100,
                      "minimum": 1,
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "nextCursor": {
                      "required": [
                        "sortOrder",
                        "recordRelationId"
                      ],
                      "type": [
                        "null",
                        "object"
                      ],
                      "properties": {
                        "sortOrder": {
                          "maximum": 2147483647,
                          "minimum": -2147483648,
                          "type": "integer",
                          "format": "int32"
                        },
                        "recordRelationId": {
                          "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                          "type": "string",
                          "format": "uuid"
                        }
                      }
                    },
                    "items": {
                      "maxItems": 100,
                      "type": "array",
                      "items": {
                        "required": [
                          "recordRelationId",
                          "fromRecordId",
                          "toRecordId",
                          "sortOrder",
                          "relationKey",
                          "relationName",
                          "recordId",
                          "title",
                          "recordStatus",
                          "moduleKey",
                          "moduleName",
                          "locationId",
                          "locationName",
                          "canEdit",
                          "isFavorite"
                        ],
                        "type": "object",
                        "properties": {
                          "recordRelationId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": "string",
                            "format": "uuid"
                          },
                          "fromRecordId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": "string",
                            "format": "uuid"
                          },
                          "toRecordId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sortOrder": {
                            "maximum": 2147483647,
                            "minimum": -2147483648,
                            "type": "integer",
                            "format": "int32"
                          },
                          "relationKey": {
                            "maxLength": 100,
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationName": {
                            "maxLength": 200,
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "maxLength": 300,
                            "minLength": 1,
                            "type": "string"
                          },
                          "recordStatus": {
                            "maxLength": 50,
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "moduleKey": {
                            "maxLength": 100,
                            "minLength": 1,
                            "type": "string"
                          },
                          "moduleName": {
                            "maxLength": 200,
                            "minLength": 1,
                            "type": "string"
                          },
                          "locationId": {
                            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "maxLength": 300,
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canEdit": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        },
                        "description": "An authorized incident relationship snapshot. Different relationship IDs may point to the same record. Location null is not a Personal/All decision. Opening or editing still requires a fresh secured native record read."
                      }
                    }
                  },
                  "description": "One secured relationship page in SQL-native order. Advance only when hasMore is true, using both exact cursor values; the cursor equals the final returned relationship and items then contains pageSize rows. A full page may be terminal. No total count is returned or inferred."
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.read"
        ]
      },
      "put": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Add Relation for Record Graph.",
        "operationId": "developerPutV1AppsModulesRecordGraphRecordIdGuidRelations",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordGraphAddRelationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordGraphAddRelationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordGraphAddRelationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordRelationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fromRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "toRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "relationKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/relations/{recordRelationId}": {
      "delete": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Remove Relation for Record Graph.",
        "operationId": "developerDeleteV1AppsModulesRecordGraphRelationsRecordRelationIdGuid",
        "parameters": [
          {
            "name": "recordRelationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordRelationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "fromRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "toRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "relationKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Set Favorite for Record Graph.",
        "operationId": "developerPutV1AppsModulesRecordGraphRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordGraphFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordGraphFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordGraphFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "userFavoriteId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "isFavorite": {
                      "type": "boolean"
                    },
                    "isPinned": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "trackChanges": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "sortOrder": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/{recordId}/knowledge": {
      "get": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Related Knowledge for Record Graph.",
        "operationId": "developerGetV1AppsModulesRecordGraphRecordIdGuidKnowledge",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "maxItems",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordRelationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "knowledgeRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "knowledgeArticleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "knowledgeType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "freshnessStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canAiRead": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.read"
        ]
      },
      "put": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Link Knowledge for Record Graph.",
        "operationId": "developerPutV1AppsModulesRecordGraphRecordIdGuidKnowledge",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeRelationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeRelationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeRelationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordRelationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "relationKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/{recordId}/knowledge/candidates": {
      "get": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Contextual Knowledge for Record Graph.",
        "operationId": "developerGetV1AppsModulesRecordGraphRecordIdGuidKnowledgeCandidates",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "requireAiRead",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "maxCandidates",
            "in": "query",
            "schema": {
              "maximum": 50,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "requireAiRead": {
                      "type": "boolean"
                    },
                    "maxCandidates": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "graphDistance": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "recordRelationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "knowledgeRecordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "knowledgeArticleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "knowledgeType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "authorityLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "freshnessStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "relationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "canAiRead": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/record-graph/knowledge-relations/{recordRelationId}": {
      "delete": {
        "tags": [
          "TenantRecordGraph"
        ],
        "summary": "Unlink Knowledge for Record Graph.",
        "operationId": "developerDeleteV1AppsModulesRecordGraphKnowledgeRelationsRecordRelationIdGuid",
        "parameters": [
          {
            "name": "recordRelationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordRelationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "knowledgeRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "relationKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "created": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "removed": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.record-graph.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/products": {
      "get": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "List Products for Reservations.",
        "operationId": "developerGetV1AppsModulesReservationsProducts",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "reservationProductId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "productKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "productName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "durationMinutes": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "bufferBeforeMinutes": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "bufferAfterMinutes": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "priceCents": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "currencyCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "concurrentCapacity": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "maxPartySize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "defaultLocationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "defaultLocationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "defaultResourceId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "defaultResourceName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "defaultAssignedUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "defaultAssignedUserName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "enforceAssigneeExclusivity": {
                            "type": "boolean"
                          },
                          "holdMinutes": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "preServiceFollowupMinutes": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "postServiceFollowupMinutes": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "preServiceSubject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "postServiceSubject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      },
      "post": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Upsert Product for Reservations.",
        "operationId": "developerPostV1AppsModulesReservationsProducts",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationProductWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationProductWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationProductWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationProductId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "calendarRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "followupType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "idempotentReplay": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations": {
      "get": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "List Reservations.",
        "operationId": "developerGetV1AppsModulesReservations",
        "parameters": [
          {
            "name": "windowStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "windowEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignedUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "reservationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "reservationNumber": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "productName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contactName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "contactEmail": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "email"
                          },
                          "assignedUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "assignedUserName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assigneeState": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "startUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "endUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "timeZoneId": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "partySize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "amountCents": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "currencyCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "paymentStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "holdExpiresUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/assignees": {
      "get": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Returns eligible tenant users.",
        "description": "Returns eligible tenant users. Supply reservationProductId and startUtc together, with optional locationId; pageSize is 1–100. Choose an item.optionId and send it as assignedUserId on purchase or reschedule. lookupId identifies the lookup contract, not the assignee. Availability is rechecked on write.",
        "operationId": "developerGetV1AppsModulesReservationsAssignees",
        "parameters": [
          {
            "name": "reservationProductId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "startUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lookupId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "optionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/capabilities": {
      "get": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Capabilities for Reservations.",
        "operationId": "developerGetV1AppsModulesReservationsCapabilities",
        "parameters": [
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "moduleKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/{recordId}": {
      "get": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Get Reservations.",
        "operationId": "developerGetV1AppsModulesReservationsRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "reservationProductId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactPhone": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "calendarRecordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "calendarEventId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "resourceBookingId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "paymentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "sourceChannel": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "customerNotes": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "internalNotes": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "cancellationReason": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "cancelledUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "checkedInUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "completedUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "followups": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "reservationFollowupId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "followupType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "scheduledUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "recipientEmail": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "email"
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "deliveryStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "outboundMessageId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "attemptCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "sentUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "events": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "eventType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "actorUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "correlationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "detail": { },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "productName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "contactName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "contactEmail": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "email"
                    },
                    "assignedUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "assignedUserName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "assigneeState": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "startUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "endUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "timeZoneId": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "partySize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "amountCents": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "currencyCode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "paymentStatus": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "holdExpiresUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/purchase": {
      "post": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Creates an idempotent Reservation and returns HTTP 201.",
        "description": "Creates an idempotent Reservation and returns HTTP 201. Use item.optionId from the assignee lookup as assignedUserId when selecting a tenant user. Capacity or assignee availability can change after lookup; HTTP 409 reservations_conflict requires refreshing choices.",
        "operationId": "developerPostV1AppsModulesReservationsPurchase",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationPurchaseRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationPurchaseRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationPurchaseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationProductId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "calendarRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "followupType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "idempotentReplay": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict Error code: reservations_conflict.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/{recordId}/status": {
      "put": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Set Status for Reservations.",
        "operationId": "developerPutV1AppsModulesReservationsRecordIdGuidStatus",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationProductId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "calendarRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "followupType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "idempotentReplay": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/{recordId}/schedule": {
      "put": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Reschedules with expectedUpdatedUtc and an eligible assignedUserId selected using the assignee lookup.",
        "description": "Reschedules with expectedUpdatedUtc and an eligible assignedUserId selected using the assignee lookup. Send that lookup's item.optionId, not lookupId. HTTP 409 reservations_conflict means refresh the Reservation and assignee choices before retrying.",
        "operationId": "developerPutV1AppsModulesReservationsRecordIdGuidSchedule",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationRescheduleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationRescheduleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationRescheduleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationProductId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "calendarRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "followupType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "idempotentReplay": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict Error code: reservations_conflict.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/{recordId}/custom-fields": {
      "put": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Update Custom Fields for Reservations.",
        "operationId": "developerPutV1AppsModulesReservationsRecordIdGuidCustomFields",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationCustomFieldsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationCustomFieldsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationCustomFieldsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationProductId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "calendarRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "followupType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "idempotentReplay": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/{recordId}/followups": {
      "put": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Update Followup for Reservations.",
        "operationId": "developerPutV1AppsModulesReservationsRecordIdGuidFollowups",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationFollowupWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationFollowupWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationFollowupWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationProductId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "reservationNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chargeIntentId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "calendarRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "contactRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "followupType": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "idempotentReplay": {
                      "type": "boolean"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/lego/catalog": {
      "get": {
        "tags": [
          "TenantReservations"
        ],
        "summary": "Lego Catalog for Reservations.",
        "operationId": "developerGetV1AppsModulesReservationsLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/export/capability": {
      "get": {
        "tags": [
          "TenantReservationsExport"
        ],
        "summary": "Get Export Capability for Reservations Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesReservationsExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/reservations/export": {
      "get": {
        "tags": [
          "TenantReservationsExport"
        ],
        "summary": "Export Reservations Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesReservationsExport",
        "parameters": [
          {
            "name": "windowStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "windowEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignedUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.reservations.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/organization/snowflake": {
      "get": {
        "tags": [
          "TenantSnowflake"
        ],
        "summary": "Get Snowflake.",
        "operationId": "developerGetV1AppsOrganizationSnowflake",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "exportAvailable": {
                      "type": "boolean"
                    },
                    "destination": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "appAccountId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "accountIdentifier": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "warehouse": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "databaseName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "schemaName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roleName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "principalName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "authenticationType": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialProvider": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialConfigured": {
                              "type": "boolean"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "createdUtc": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "publicKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "verifiedUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastResult": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "operationInProgress": {
                              "type": "boolean"
                            },
                            "runs": { },
                            "checkpoints": { }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "setupSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "keyRotationSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ingestionMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "schedulingAvailable": {
                      "type": "boolean"
                    },
                    "schedule": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "cadenceMinutes": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "nextRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "correlationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.snowflake.read"
        ]
      },
      "put": {
        "tags": [
          "TenantSnowflake"
        ],
        "summary": "Save Snowflake.",
        "operationId": "developerPutV1AppsOrganizationSnowflake",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowflakeSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowflakeSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowflakeSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "exportAvailable": {
                      "type": "boolean"
                    },
                    "destination": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "appAccountId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "accountIdentifier": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "warehouse": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "databaseName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "schemaName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roleName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "principalName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "authenticationType": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialProvider": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialConfigured": {
                              "type": "boolean"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "createdUtc": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "publicKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "verifiedUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastResult": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "operationInProgress": {
                              "type": "boolean"
                            },
                            "runs": { },
                            "checkpoints": { }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "setupSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "keyRotationSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ingestionMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "schedulingAvailable": {
                      "type": "boolean"
                    },
                    "schedule": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "cadenceMinutes": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "nextRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "correlationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.snowflake.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/organization/snowflake/test": {
      "post": {
        "tags": [
          "TenantSnowflake"
        ],
        "summary": "Test Snowflake.",
        "operationId": "developerPostV1AppsOrganizationSnowflakeTest",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeOperationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeOperationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "exportAvailable": {
                      "type": "boolean"
                    },
                    "destination": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "appAccountId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "accountIdentifier": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "warehouse": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "databaseName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "schemaName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roleName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "principalName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "authenticationType": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialProvider": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialConfigured": {
                              "type": "boolean"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "createdUtc": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "publicKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "verifiedUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastResult": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "operationInProgress": {
                              "type": "boolean"
                            },
                            "runs": { },
                            "checkpoints": { }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "setupSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "keyRotationSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ingestionMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "schedulingAvailable": {
                      "type": "boolean"
                    },
                    "schedule": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "cadenceMinutes": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "nextRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "correlationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.snowflake.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/organization/snowflake/export": {
      "post": {
        "tags": [
          "TenantSnowflake"
        ],
        "summary": "Export Snowflake.",
        "operationId": "developerPostV1AppsOrganizationSnowflakeExport",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeOperationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeOperationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "exportAvailable": {
                      "type": "boolean"
                    },
                    "destination": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "appAccountId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "accountIdentifier": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "warehouse": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "databaseName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "schemaName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roleName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "principalName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "authenticationType": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialProvider": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialConfigured": {
                              "type": "boolean"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "createdUtc": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "publicKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "verifiedUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastResult": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "operationInProgress": {
                              "type": "boolean"
                            },
                            "runs": { },
                            "checkpoints": { }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "setupSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "keyRotationSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ingestionMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "schedulingAvailable": {
                      "type": "boolean"
                    },
                    "schedule": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "cadenceMinutes": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "nextRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "correlationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.snowflake.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/organization/snowflake/enabled": {
      "put": {
        "tags": [
          "TenantSnowflake"
        ],
        "summary": "Set Enabled for Snowflake.",
        "operationId": "developerPutV1AppsOrganizationSnowflakeEnabled",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeEnabledRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeEnabledRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeEnabledRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "exportAvailable": {
                      "type": "boolean"
                    },
                    "destination": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "appAccountId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "accountIdentifier": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "warehouse": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "databaseName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "schemaName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roleName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "principalName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "authenticationType": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialProvider": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialConfigured": {
                              "type": "boolean"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "createdUtc": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "publicKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "verifiedUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastResult": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "operationInProgress": {
                              "type": "boolean"
                            },
                            "runs": { },
                            "checkpoints": { }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "setupSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "keyRotationSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ingestionMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "schedulingAvailable": {
                      "type": "boolean"
                    },
                    "schedule": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "cadenceMinutes": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "nextRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "correlationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.snowflake.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/organization/snowflake/schedule": {
      "put": {
        "tags": [
          "TenantSnowflake"
        ],
        "summary": "Set Schedule for Snowflake.",
        "operationId": "developerPutV1AppsOrganizationSnowflakeSchedule",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeScheduleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeScheduleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantSnowpipeScheduleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "exportAvailable": {
                      "type": "boolean"
                    },
                    "destination": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "appAccountId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "accountIdentifier": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "warehouse": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "databaseName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "schemaName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "roleName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "principalName": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "authenticationType": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialProvider": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "credentialConfigured": {
                              "type": "boolean"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "createdUtc": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "publicKey": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "verifiedUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastResult": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "operationInProgress": {
                              "type": "boolean"
                            },
                            "runs": { },
                            "checkpoints": { }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "setupSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "keyRotationSql": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ingestionMode": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "schedulingAvailable": {
                      "type": "boolean"
                    },
                    "schedule": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "snowflakeDestinationId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "saasAppId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "isEnabled": {
                              "type": "boolean"
                            },
                            "cadenceMinutes": {
                              "pattern": "^-?(?:0|[1-9]\\d*)$",
                              "type": [
                                "integer",
                                "string"
                              ],
                              "format": "int32"
                            },
                            "nextRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "lastRunUtc": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "date-time"
                            },
                            "updatedUtc": {
                              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                              "type": "string"
                            },
                            "rowVersion": {
                              "type": [
                                "null",
                                "string"
                              ]
                            },
                            "correlationId": {
                              "type": [
                                "null",
                                "string"
                              ],
                              "format": "uuid"
                            }
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.snowflake.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/support-lanes": {
      "get": {
        "tags": [
          "TenantSupportLanes"
        ],
        "summary": "List Support Lanes.",
        "description": "Requires the verified tenant organization owner. Follow nextAfterId while hasMore is true; there is no fixed lane-count cap. Builder page-design access does not confer lane authority.",
        "operationId": "developerGetV1AppsInboxSupportLanes",
        "parameters": [
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "maxLength": 200,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "includeRetired",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportLanePage"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      },
      "post": {
        "tags": [
          "TenantSupportLanes"
        ],
        "summary": "Create Support Lanes.",
        "description": "Attaching an existing email/SMS channel enables ticketing. Supply its exact updatedUtc as expectedEmailUpdatedUtc or expectedSmsUpdatedUtc. Omit expectedRevision on create. GoClaw assignment grants no new record, location, AI or action permissions.",
        "operationId": "developerPostV1AppsInboxSupportLanes",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportLaneReceipt"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/support-lanes/{laneId}": {
      "get": {
        "tags": [
          "TenantSupportLanes"
        ],
        "summary": "Get Support Lanes.",
        "operationId": "developerGetV1AppsInboxSupportLanesLaneIdGuid",
        "parameters": [
          {
            "name": "laneId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportLane"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      },
      "put": {
        "tags": [
          "TenantSupportLanes"
        ],
        "summary": "Update Support Lanes.",
        "description": "Requires expectedRevision from the lane and exact UTC updatedUtc strings for selected channels, preserving all seven fractional digits. Null channel or GoClaw IDs detach those assignments. A 409 requires reload and review; do not blindly retry. Revisions are bigint decimal strings, not JavaScript numbers.",
        "operationId": "developerPutV1AppsInboxSupportLanesLaneIdGuid",
        "parameters": [
          {
            "name": "laneId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneSaveRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneSaveRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneSaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportLaneReceipt"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/support-lanes/options": {
      "get": {
        "tags": [
          "TenantSupportLanes"
        ],
        "summary": "Options for Support Lanes.",
        "description": "Searchable keyset pagination over already-configured email/SMS channels or active GoClaw tenant users. Include laneId while editing to include its attached channels. No provider credentials are returned.",
        "operationId": "developerGetV1AppsInboxSupportLanesOptions",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^(email|sms|goclaw)$",
              "type": "string"
            }
          },
          {
            "name": "laneId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "maxLength": 200,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportLaneOptionPage"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/support-lanes/{laneId}/retire": {
      "post": {
        "tags": [
          "TenantSupportLanes"
        ],
        "summary": "Retire for Support Lanes.",
        "description": "Requires the current expectedRevision and confirmDetachChannels=true. Receiving channels are detached, their independent ticketing settings are preserved, and future inbound activity resumes ordinary routing. The operation is audited.",
        "operationId": "developerPostV1AppsInboxSupportLanesLaneIdGuidRetire",
        "parameters": [
          {
            "name": "laneId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneRetireRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneRetireRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SupportLaneRetireRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportLaneReceipt"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/lego-catalog": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Lego Catalog for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/lego-presentation": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Lego Presentation for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxLegoPresentation",
        "parameters": [
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "afterPriority",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "afterLastActivityUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "afterInboxItemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presentationVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "kind": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "columns": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "type": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "align": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "rows": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "cells": {
                            "type": [
                              "null",
                              "object"
                            ]
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "revision": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "tone": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "pageNumber": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "hasMore": {
                          "type": "boolean"
                        },
                        "totalRecords": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int64"
                        },
                        "totalIsExact": {
                          "type": "boolean"
                        },
                        "nextPriority": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "nextLastActivityUtc": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "nextRecordId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/items": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Items for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxItems",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "goClawStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "inboxQueueId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assignedToMe",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ticketingOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "afterPriority",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "afterLastActivityUtc",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "afterInboxItemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "items",
                    "pageSize",
                    "hasMore",
                    "totalRecords",
                    "totalIsExact",
                    "nextPriority",
                    "nextLastActivityUtc",
                    "nextInboxItemId"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "inboxItemId",
                          "source",
                          "inboxQueueId",
                          "queueName",
                          "assignedToUserId",
                          "assignedDataRoleId",
                          "status",
                          "goClawStatus",
                          "priority",
                          "subject",
                          "previewText",
                          "activityVersion",
                          "newActivityCount",
                          "firstReceivedUtc",
                          "lastActivityUtc",
                          "dueUtc",
                          "snoozedUntilUtc",
                          "aiIntent",
                          "aiCategory",
                          "aiRiskLevel",
                          "aiConfidence",
                          "aiSummary",
                          "isUnread",
                          "lastReadActivityVersion",
                          "ticket"
                        ],
                        "type": "object",
                        "properties": {
                          "inboxItemId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "source": {
                            "required": [
                              "sourceType",
                              "sourceKey",
                              "sourceRecordId",
                              "sourcePrimaryId",
                              "externalSourceKey",
                              "conversationId",
                              "contactRecordId"
                            ],
                            "type": "object",
                            "properties": {
                              "sourceType": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "sourceKey": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "sourceRecordId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              },
                              "sourcePrimaryId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              },
                              "externalSourceKey": {
                                "type": [
                                  "null",
                                  "string"
                                ]
                              },
                              "conversationId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              },
                              "contactRecordId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              }
                            }
                          },
                          "inboxQueueId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "queueName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assignedToUserId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "assignedDataRoleId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "goClawStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "previewText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "activityVersion": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "newActivityCount": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "firstReceivedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "lastActivityUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "dueUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "snoozedUntilUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "aiIntent": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "aiCategory": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "aiRiskLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "aiConfidence": {
                            "type": [
                              "null",
                              "number"
                            ],
                            "format": "double"
                          },
                          "aiSummary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isUnread": {
                            "type": "boolean"
                          },
                          "lastReadActivityVersion": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int64"
                          },
                          "ticket": {
                            "anyOf": [
                              {
                                "required": [
                                  "channelConnectionId",
                                  "prefix",
                                  "number",
                                  "openedUtc"
                                ],
                                "type": "object",
                                "properties": {
                                  "channelConnectionId": {
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "prefix": {
                                    "type": [
                                      "null",
                                      "string"
                                    ]
                                  },
                                  "number": {
                                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                                    "type": [
                                      "integer",
                                      "string"
                                    ],
                                    "format": "int64"
                                  },
                                  "openedUtc": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "key": {
                                    "type": [
                                      "null",
                                      "string"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "nextPriority": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    },
                    "nextLastActivityUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "nextInboxItemId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/email-channels/ticketing": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Email Ticketing for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxEmailChannelsTicketing",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "canManage",
                    "mailboxes"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canManage": {
                      "type": "boolean"
                    },
                    "mailboxes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "channelConnectionId",
                          "displayLabel",
                          "emailAddress",
                          "inboundAddress",
                          "isInboundEnabled",
                          "status",
                          "isTicketingEnabled",
                          "ticketPrefix",
                          "nextTicketNumber"
                        ],
                        "type": "object",
                        "properties": {
                          "channelConnectionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "displayLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "emailAddress": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "email"
                          },
                          "inboundAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isInboundEnabled": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isTicketingEnabled": {
                            "type": "boolean"
                          },
                          "ticketPrefix": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "nextTicketNumber": {
                            "type": "integer",
                            "format": "int64"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/email-channels/{channelConnectionId}/ticketing": {
      "put": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Set Email Ticketing for Universal Inbox.",
        "operationId": "developerPutV1AppsInboxEmailChannelsChannelConnectionIdGuidTicketing",
        "parameters": [
          {
            "name": "channelConnectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantEmailTicketingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantEmailTicketingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantEmailTicketingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "channelConnectionId",
                    "displayLabel",
                    "emailAddress",
                    "inboundAddress",
                    "isInboundEnabled",
                    "status",
                    "isTicketingEnabled",
                    "ticketPrefix",
                    "nextTicketNumber"
                  ],
                  "type": "object",
                  "properties": {
                    "channelConnectionId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "displayLabel": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "emailAddress": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "email"
                    },
                    "inboundAddress": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isInboundEnabled": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isTicketingEnabled": {
                      "type": "boolean"
                    },
                    "ticketPrefix": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "nextTicketNumber": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/items/{inboxItemId}": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Item for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxItemsInboxItemIdGuid",
        "parameters": [
          {
            "name": "inboxItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "inboxItemId",
                    "appAccountId",
                    "recordId",
                    "source",
                    "document"
                  ],
                  "type": "object",
                  "properties": {
                    "inboxItemId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "appAccountId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "source": {
                      "required": [
                        "sourceType",
                        "sourceKey",
                        "sourceRecordId",
                        "sourcePrimaryId",
                        "externalSourceKey",
                        "conversationId",
                        "contactRecordId"
                      ],
                      "type": "object",
                      "properties": {
                        "sourceType": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "sourceRecordId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "sourcePrimaryId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "externalSourceKey": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "conversationId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        },
                        "contactRecordId": {
                          "type": [
                            "null",
                            "string"
                          ],
                          "format": "uuid"
                        }
                      }
                    },
                    "document": { }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/badge": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Badge for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxBadge",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "unreadTotal",
                    "readyForApproval",
                    "needsHuman",
                    "goClawWorking",
                    "assignedToMeOpen",
                    "failedSends",
                    "sources",
                    "asOfUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "unreadTotal": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "readyForApproval": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "needsHuman": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "goClawWorking": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "assignedToMeOpen": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "failedSends": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "sources": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "sourceType",
                          "itemCount"
                        ],
                        "type": "object",
                        "properties": {
                          "sourceType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "itemCount": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    },
                    "asOfUtc": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/notifications": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Notifications for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxNotifications",
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 8
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "required": [
                      "inboxItemId",
                      "source",
                      "subject",
                      "bodyText",
                      "notificationType",
                      "priority",
                      "createdUtc",
                      "isRead",
                      "sourceTableName"
                    ],
                    "type": "object",
                    "properties": {
                      "inboxItemId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "source": {
                        "required": [
                          "sourceType",
                          "sourceKey",
                          "sourceRecordId",
                          "sourcePrimaryId",
                          "externalSourceKey",
                          "conversationId",
                          "contactRecordId"
                        ],
                        "type": "object",
                        "properties": {
                          "sourceType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "sourceRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "sourcePrimaryId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "externalSourceKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "conversationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "contactRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          }
                        }
                      },
                      "subject": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "bodyText": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "notificationType": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "priority": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "createdUtc": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "isRead": {
                        "type": "boolean"
                      },
                      "sourceTableName": {
                        "type": [
                          "null",
                          "string"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/delivery/debug": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Delivery Debug for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxDeliveryDebug",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stuckMinutes",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 15
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "items",
                    "counts",
                    "asOfUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "outboundMessageId",
                          "conversationId",
                          "channelKey",
                          "subject",
                          "toAddress",
                          "deliveryStatus",
                          "isStuck",
                          "canRetry",
                          "retryAttempts",
                          "maxRetries",
                          "failureCode",
                          "failureType",
                          "scheduledSendUtc",
                          "leaseUntilUtc",
                          "sentUtc",
                          "createdUtc"
                        ],
                        "type": "object",
                        "properties": {
                          "outboundMessageId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "conversationId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "channelKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "subject": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "toAddress": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "deliveryStatus": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isStuck": {
                            "type": "boolean"
                          },
                          "canRetry": {
                            "type": "boolean"
                          },
                          "retryAttempts": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "maxRetries": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "failureCode": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "failureType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "scheduledSendUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "leaseUntilUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "sentUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "createdUtc": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "counts": {
                      "required": [
                        "queued",
                        "sending",
                        "stuck",
                        "failed",
                        "sent24h"
                      ],
                      "type": "object",
                      "properties": {
                        "queued": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "sending": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "stuck": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "failed": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "sent24h": {
                          "type": "integer",
                          "format": "int32"
                        }
                      }
                    },
                    "asOfUtc": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/delivery/{outboundMessageId}/retry": {
      "post": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Retry Delivery for Universal Inbox.",
        "operationId": "developerPostV1AppsInboxDeliveryOutboundMessageIdGuidRetry",
        "parameters": [
          {
            "name": "outboundMessageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TenantDeliveryRetryReceipt"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantDeliveryRetryReceipt"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantDeliveryRetryReceipt"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/items/{inboxItemId}/human-state": {
      "put": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Update Human State for Universal Inbox.",
        "operationId": "developerPutV1AppsInboxItemsInboxItemIdGuidHumanState",
        "parameters": [
          {
            "name": "inboxItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantInboxHumanStateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantInboxHumanStateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantInboxHumanStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/badge/indicator": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Badge Indicator for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxBadgeIndicator",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "attentionDisplayCount",
                    "attentionIsCapped",
                    "asOfUtc"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "attentionDisplayCount": {
                      "maximum": 99,
                      "minimum": 0,
                      "type": "integer",
                      "format": "int32"
                    },
                    "attentionIsCapped": {
                      "type": "boolean"
                    },
                    "asOfUtc": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/channels/ticketing": {
      "get": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Get Channel Ticketing for Universal Inbox.",
        "operationId": "developerGetV1AppsInboxChannelsTicketing",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboxChannelTicketingSettings"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/channels/{channelConnectionId}/ticketing": {
      "put": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Set Channel Ticketing for Universal Inbox.",
        "operationId": "developerPutV1AppsInboxChannelsChannelConnectionIdGuidTicketing",
        "parameters": [
          {
            "name": "channelConnectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChannelTicketingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChannelTicketingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantChannelTicketingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboxChannelTicketingSetting"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/inbox/items/{inboxItemId}/reply": {
      "post": {
        "tags": [
          "TenantUniversalInbox"
        ],
        "summary": "Reply for Universal Inbox.",
        "operationId": "developerPostV1AppsInboxItemsInboxItemIdGuidReply",
        "parameters": [
          {
            "name": "inboxItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantInboxReplyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantInboxReplyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TenantInboxReplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.universal-inbox.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/lego/catalog": {
      "get": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Get Lego Catalog for Web Links.",
        "operationId": "developerGetV1AppsModulesWebLinksLegoCatalog",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Get Lego Lookup for Web Links.",
        "operationId": "developerGetV1AppsModulesWebLinksLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links": {
      "get": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "List Web Links.",
        "operationId": "developerGetV1AppsModulesWebLinks",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "canCreate",
                    "canEdit",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "hasMore": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "required": [
                          "webLinkId",
                          "recordId",
                          "title",
                          "url",
                          "updatedUtc",
                          "isFavorite"
                        ],
                        "type": "object",
                        "properties": {
                          "webLinkId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "url": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "description": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "category": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string",
                            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                          },
                          "isFavorite": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      },
      "post": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Create Web Links.",
        "operationId": "developerPostV1AppsModulesWebLinks",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "webLinkId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/count": {
      "get": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Count Web Links.",
        "operationId": "developerGetV1AppsModulesWebLinksCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dataRoleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/{recordId}": {
      "get": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Get Web Links.",
        "operationId": "developerGetV1AppsModulesWebLinksRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "webLinkId",
                    "recordId",
                    "title",
                    "url",
                    "updatedUtc",
                    "isFavorite"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "createdByUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "createdByDisplayName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "recordRevisionUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "activityCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { },
                          "clear": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "webLinkId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "url": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "category": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string",
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      },
      "put": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Update Web Links.",
        "operationId": "developerPutV1AppsModulesWebLinksRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "webLinkId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Remove Web Links.",
        "operationId": "developerDeleteV1AppsModulesWebLinksRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current target.updatedUtc revision. Preserve the exact string and all fractional seconds; never round it through a JavaScript Date. On 409, refresh and ask the user to confirm again before deleting.",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
              "type": "string",
              "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/{recordId}/favorite": {
      "put": {
        "tags": [
          "TenantWebLinks"
        ],
        "summary": "Favorite for Web Links.",
        "operationId": "developerPutV1AppsModulesWebLinksRecordIdGuidFavorite",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkFavoriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkFavoriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WebLinkFavoriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "webLinkId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
                    },
                    "isFavorite": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/export/capability": {
      "get": {
        "tags": [
          "TenantWebLinksExport"
        ],
        "summary": "Get Export Capability for Web Links Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesWebLinksExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/web-links/export": {
      "get": {
        "tags": [
          "TenantWebLinksExport"
        ],
        "summary": "Export Web Links Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesWebLinksExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.web-links.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/schema": {
      "get": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Get Schema for Work Orders.",
        "operationId": "developerGetV1AppsModulesWorkOrdersSchema",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "catalogId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "catalogVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "resources": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldCatalogId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "bindingIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    "fieldCatalogs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldCatalogId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "moduleId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "fields": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "key": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "type": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "required": {
                                  "type": "boolean"
                                },
                                "readable": {
                                  "type": "boolean"
                                },
                                "writable": {
                                  "type": "boolean"
                                },
                                "maximumLength": {
                                  "type": [
                                    "null",
                                    "integer"
                                  ],
                                  "format": "int32"
                                },
                                "minimum": {
                                  "type": [
                                    "null",
                                    "number"
                                  ],
                                  "format": "double"
                                },
                                "maximum": {
                                  "type": [
                                    "null",
                                    "number"
                                  ],
                                  "format": "double"
                                },
                                "choiceIds": {
                                  "type": [
                                    "null",
                                    "array"
                                  ],
                                  "items": {
                                    "type": "string",
                                    "format": "uuid"
                                  }
                                },
                                "lookupId": {
                                  "type": [
                                    "null",
                                    "string"
                                  ],
                                  "format": "uuid"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "bindings": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "bindingId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "presentationKind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "defaultPageSize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "maximumPageSize": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "filterFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "sortFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "actionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "resourceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "kind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "inputFieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "inputConstraints": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "fieldId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "maximumLength": {
                                  "type": "integer",
                                  "format": "int32"
                                }
                              }
                            }
                          },
                          "requiresRecordId": {
                            "type": "boolean"
                          },
                          "requiresExpectedRevision": {
                            "type": "boolean"
                          },
                          "requiresConfirmation": {
                            "type": "boolean"
                          },
                          "result": {
                            "type": "object",
                            "properties": {
                              "returnsRevision": {
                                "type": "boolean"
                              },
                              "canConflict": {
                                "type": "boolean"
                              },
                              "refreshBindingId": {
                                "type": [
                                  "null",
                                  "string"
                                ],
                                "format": "uuid"
                              }
                            }
                          }
                        }
                      }
                    },
                    "components": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "componentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "version": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "key": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "displayName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rendererKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "trustLevel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "resourceId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "bindingId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "actionIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "fieldIds": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            }
                          },
                          "defaultProps": { }
                        }
                      }
                    },
                    "vocabularies": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "vocabularyId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "fieldId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "allowsCustomValue": {
                            "type": "boolean"
                          },
                          "choices": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "choiceId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "value": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "label": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "lookups": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "lookupId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "kind": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "maximumPageSize": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/lookups/{lookupId}": {
      "get": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Get Lookup for Work Orders.",
        "operationId": "developerGetV1AppsModulesWorkOrdersLookupsLookupIdGuid",
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "recordId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "lookupId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "optionId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/{recordId}/status-transitions": {
      "get": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Get Status Transitions for Work Orders.",
        "operationId": "developerGetV1AppsModulesWorkOrdersRecordIdGuidStatusTransitions",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "currentChoiceId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "currentValue": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "items": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "choiceId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "value": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "label": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders": {
      "get": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "List Work Orders.",
        "description": "Continue with pageNumber + 1 while hasMore is true, preserving pageSize, filters and identity. When totalIsExact is false, totalRecords and totalPages are lower bounds; never use the initial totalPages as a loop limit. This is a current authorized browse view, not a snapshot or a complete export. Concurrent changes can move rows between pages. The Contacts browseLimit caps its browse window; reaching it does not certify collection completeness.",
        "operationId": "developerGetV1AppsModulesWorkOrders",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "assignedToMe",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "relatedRecordId",
            "in": "query",
            "description": "Optional. Lists only rows linked to this record: the module's own link (work order customer, reservation contact, file attachment; for Contacts the customer of that work order or contact of that reservation) or a record link in either direction. The caller must be able to read this record; an unreadable, deleted or unknown record returns an empty list, never an error. An all-zero ID is 400. Contacts returns hasMore instead of an exact total for a linked list.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "contractVersion",
                    "pageNumber",
                    "pageSize",
                    "totalRecords",
                    "totalPages",
                    "totalIsExact",
                    "hasMore",
                    "items"
                  ],
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageNumber": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "description": "Known authorized record count. When totalIsExact is false this is a lower bound, not the collection size.",
                      "format": "int32"
                    },
                    "totalPages": {
                      "type": "integer",
                      "description": "Pages derived from totalRecords. When totalIsExact is false this is a lower bound and not a stopping condition. Continue using hasMore.",
                      "format": "int32"
                    },
                    "totalIsExact": {
                      "type": "boolean",
                      "description": "True only when totalRecords and totalPages are exact for this response. A false value must never be presented as an exact count."
                    },
                    "hasMore": {
                      "type": "boolean",
                      "description": "When true, request pageNumber + 1 with the same pageSize, filters and identity. Stop when false; do not stop at the initial totalPages."
                    },
                    "canCreate": {
                      "type": "boolean"
                    },
                    "canBill": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "recordId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "workOrderId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "workOrderNumber": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "customerRecordId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "customerName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "summary": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "status": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "priority": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "scheduledStartUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "scheduledEndUtc": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "locationId": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "locationName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isPersonal": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          },
                          "assignmentCount": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      },
      "post": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Create Work Orders.",
        "operationId": "developerPostV1AppsModulesWorkOrders",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "workOrderId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workOrderNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "assignedUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "assignmentRole": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPrimary": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/count": {
      "get": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Count Work Orders.",
        "operationId": "developerGetV1AppsModulesWorkOrdersCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assignedToMe",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "totalRecords": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "totalIsExact": {
                      "type": "boolean"
                    },
                    "browseLimit": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "countLimit": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/{recordId}": {
      "get": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Get Work Orders.",
        "operationId": "developerGetV1AppsModulesWorkOrdersRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canEdit": {
                      "type": "boolean"
                    },
                    "canDelete": {
                      "type": "boolean"
                    },
                    "description": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "createdUtc": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "relationCount": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "assignments": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "workOrderAssignmentId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "assignedUserId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "assignedUserName": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "assignmentRole": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "assignedUtc": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedUtc": {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                            "type": "string"
                          }
                        }
                      }
                    },
                    "dynamicFields": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "fieldKey": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "fieldLabel": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "dataType": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "valueText": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueInt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "format": "int64"
                              },
                              {
                                "maxLength": 20,
                                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
                          },
                          "valueDecimal": { },
                          "valueDecimalExact": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "valueDateTime": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "date-time"
                          },
                          "valueBool": {
                            "type": [
                              "null",
                              "boolean"
                            ]
                          },
                          "valueGuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "valueJson": { }
                        }
                      }
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "workOrderId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "workOrderNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "customerRecordId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "customerName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "priority": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "scheduledStartUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "scheduledEndUtc": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "date-time"
                    },
                    "locationId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "locationName": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPersonal": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": "string"
                    },
                    "assignmentCount": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      },
      "put": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Update Work Orders.",
        "operationId": "developerPutV1AppsModulesWorkOrdersRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderWriteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderWriteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderWriteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "workOrderId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workOrderNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "assignedUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "assignmentRole": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPrimary": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.write"
        ]
      },
      "delete": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Remove Work Orders.",
        "description": "Soft-deletes a work order the caller can see, using its displayed expectedUpdatedUtc revision. Only the organization owner deletes a work order; everyone else changes its status (403 work_orders_forbidden). Missing or invalid input returns 400 work_orders_invalid_request; an unavailable work order returns a concealed 404; a stale revision returns 409 work_orders_conflict. Refresh and ask the user to confirm again after a conflict; never retry deletion using a newly fetched revision automatically.",
        "operationId": "developerDeleteV1AppsModulesWorkOrdersRecordIdGuid",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expectedUpdatedUtc",
            "in": "query",
            "description": "Required current work order updatedUtc revision. Preserve the exact string and all fractional seconds; never convert it to a JavaScript Date or call toISOString().",
            "required": true,
            "schema": {
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
              "type": "string",
              "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "objectKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "correlationId": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/{recordId}/status": {
      "put": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Status for Work Orders.",
        "operationId": "developerPutV1AppsModulesWorkOrdersRecordIdGuidStatus",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "workOrderId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workOrderNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "assignedUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "assignmentRole": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPrimary": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/{recordId}/price": {
      "put": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Price for Work Orders.",
        "operationId": "developerPutV1AppsModulesWorkOrdersRecordIdGuidPrice",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderPriceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderPriceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderPriceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "priceCents": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "format": "int64"
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/{recordId}/assignment": {
      "put": {
        "tags": [
          "TenantWorkOrders"
        ],
        "summary": "Assign for Work Orders.",
        "operationId": "developerPutV1AppsModulesWorkOrdersRecordIdGuidAssignment",
        "parameters": [
          {
            "name": "recordId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderAssignmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderAssignmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkOrderAssignmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "recordId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "workOrderId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "workOrderNumber": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "status": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "assignedUserId": {
                      "type": [
                        "null",
                        "string"
                      ],
                      "format": "uuid"
                    },
                    "assignmentRole": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "isPrimary": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "isActive": {
                      "type": [
                        "null",
                        "boolean"
                      ]
                    },
                    "updatedUtc": {
                      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The requested target is unavailable to this actor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The operation conflicts with the current record state or revision.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.write"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/export/capability": {
      "get": {
        "tags": [
          "TenantWorkOrdersExport"
        ],
        "summary": "Get Export Capability for Work Orders Export.",
        "description": "Whether the caller can export at least one record of this module: canExport is true when any record the caller may read is also exportable under their DataRoles (or is their own Personal record). exportLimit is 10000.",
        "operationId": "developerGetV1AppsModulesWorkOrdersExportCapability",
        "parameters": [
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "canExport": {
                      "type": "boolean"
                    },
                    "exportLimit": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "A required dependency is unavailable. Retry timing is provided only for explicitly retryable failures.",
            "headers": {
              "Retry-After": {
                "description": "Present only for explicitly retryable dependency failures. Wait at least five seconds before a manual read retry. This is not proof a write rolled back: check current state before resubmitting a mutation; never automatically replay it.",
                "schema": {
                  "maximum": 5,
                  "minimum": 5,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      }
    },
    "/v1/apps/{saasAppId}/modules/work-orders/export": {
      "get": {
        "tags": [
          "TenantWorkOrdersExport"
        ],
        "summary": "Export Work Orders Export.",
        "description": "Downloads, as a UTF-8 CSV file, the records the module's list shows for the same filters, up to 10,000. Records the caller may read but may not export under their DataRoles are withheld: they are never in the file and are counted in X-Export-Withheld-Count. Each export writes one records_exported audit row naming the API client; when that audit cannot be recorded the export is refused (503) and nothing is read. More than 10,000 exportable records is refused (422) with a message naming the count; narrow the filters and export again. Spreadsheet formula characters at the start of a cell are prefixed with an apostrophe; internal ids are not exported.",
        "operationId": "developerGetV1AppsModulesWorkOrdersExport",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assignedToMe",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "saasAppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "422": {
            "description": "More than 10,000 records match; the message names the count. Narrow the filters and export again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "The CSV file.",
            "headers": {
              "X-Export-Row-Count": {
                "description": "Records in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "X-Export-Withheld-Count": {
                "description": "Records the caller may read but may not export; never in the file.",
                "required": true,
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename selected by the server.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Exports are not cached.",
                "schema": {
                  "enum": [
                    "private, no-store"
                  ],
                  "type": "string"
                }
              }
            },
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "The request parameters or body are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The authenticated credential is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An internal error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The operation rate limit was exceeded.",
            "headers": {
              "Retry-After": {
                "description": "Whole seconds the client should wait before retrying the request.",
                "required": true,
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "The export audit cannot be recorded right now, or a dependency is unavailable; nothing was exported. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "LiveAppCredential": [ ]
          },
          {
            "DelegatedUserCredential": [ ]
          }
        ],
        "x-required-scopes": [
          "modules.work-orders.read"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ActiveWorkplaceActivityRequest": {
        "required": [
          "summary"
        ],
        "type": "object",
        "properties": {
          "eventType": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "minLength": 1,
            "type": "string"
          },
          "recordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "eventData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "isMeaningfulActivity": {
            "type": "boolean"
          }
        }
      },
      "ActiveWorkplaceCreateRequest": {
        "required": [
          "rootRecordId"
        ],
        "type": "object",
        "properties": {
          "rootRecordId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerUserId": {
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "priority": {
            "maximum": 4,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "graphScope": {
            "required": [
              "maxDepth",
              "maxNodes"
            ],
            "type": [
              "null",
              "object"
            ],
            "properties": {
              "maxDepth": {
                "maximum": 5,
                "minimum": 1,
                "type": "integer"
              },
              "maxNodes": {
                "maximum": 200,
                "minimum": 2,
                "type": "integer"
              },
              "playbackEnabled": {
                "type": [
                  "null",
                  "boolean"
                ]
              },
              "allowedRelationshipTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              },
              "excludedRelationshipTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              },
              "allowedRecordTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              },
              "excludedRecordTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              }
            },
            "additionalProperties": { },
            "description": "Canonical case-sensitive keys; duplicate keys are rejected. maxDepth and maxNodes must use integer JSON tokens. Unknown extension fields are preserved. An omitted or null create scope uses the existing server default."
          },
          "staleAfterMinutes": {
            "maximum": 525600,
            "minimum": 5,
            "type": "integer",
            "format": "int32"
          },
          "warningBeforeStaleMinutes": {
            "maximum": 525599,
            "minimum": 0,
            "type": "integer",
            "description": "Must be less than staleAfterMinutes. Zero is an explicit valid selection.",
            "format": "int32"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueWrite"
            }
          }
        }
      },
      "ActiveWorkplaceParticipantRequest": {
        "required": [
          "participantType",
          "participantId"
        ],
        "type": "object",
        "properties": {
          "participantType": {
            "minLength": 1,
            "enum": [
              "User",
              "GoClaw",
              "Workflow"
            ],
            "type": "string"
          },
          "participantId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "roleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "responsibilityText": {
            "type": [
              "null",
              "string"
            ]
          },
          "isWatcher": {
            "type": "boolean"
          },
          "canAct": {
            "type": "boolean"
          },
          "eventSubscriptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "allowedActions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "approvalPolicy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "escalationPolicy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          }
        }
      },
      "ActiveWorkplaceStatusRequest": {
        "required": [
          "status",
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "status": {
            "minLength": 1,
            "enum": [
              "Active",
              "Waiting",
              "AtRisk",
              "Stale",
              "Dormant",
              "Resolved"
            ],
            "type": "string"
          },
          "waitingUntilUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "waitingReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "ActiveWorkplaceUpdateRequest": {
        "required": [
          "displayName",
          "ownerUserId",
          "priority",
          "graphScope",
          "staleAfterMinutes",
          "warningBeforeStaleMinutes",
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "ownerUserId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "priority": {
            "maximum": 4,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "graphScope": {
            "required": [
              "maxDepth",
              "maxNodes"
            ],
            "type": "object",
            "properties": {
              "maxDepth": {
                "maximum": 5,
                "minimum": 1,
                "type": "integer"
              },
              "maxNodes": {
                "maximum": 200,
                "minimum": 2,
                "type": "integer"
              },
              "playbackEnabled": {
                "type": [
                  "null",
                  "boolean"
                ]
              },
              "allowedRelationshipTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              },
              "excludedRelationshipTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              },
              "allowedRecordTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              },
              "excludedRecordTypes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "pattern": "\\S",
                  "type": "string"
                }
              }
            },
            "additionalProperties": { },
            "description": "Canonical case-sensitive keys; duplicate keys are rejected. maxDepth and maxNodes must use integer JSON tokens. Unknown extension fields are preserved. An omitted or null create scope uses the existing server default."
          },
          "staleAfterMinutes": {
            "maximum": 525600,
            "minimum": 5,
            "type": "integer",
            "format": "int32"
          },
          "warningBeforeStaleMinutes": {
            "maximum": 525599,
            "minimum": 0,
            "type": "integer",
            "description": "Must be less than staleAfterMinutes. Zero is an explicit valid selection.",
            "format": "int32"
          },
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueWrite"
            }
          }
        },
        "description": "Complete workplace settings replacement. Supply every required setting and the exact returned revision; omitted numeric settings are rejected, not reset to zero."
      },
      "AiApiIngestReceipt": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceHash": {
            "type": [
              "null",
              "string"
            ]
          },
          "citation": {
            "$ref": "#/components/schemas/AiSourceCitation"
          },
          "scheduling": {
            "$ref": "#/components/schemas/AiSourceChangeScheduleReceipt"
          }
        }
      },
      "AiApiSearchCandidate": {
        "type": "object",
        "properties": {
          "chunkId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceName": {
            "type": [
              "null",
              "string"
            ]
          },
          "sourceType": {
            "type": [
              "null",
              "string"
            ]
          },
          "chunkIndex": {
            "type": "integer",
            "format": "int32"
          },
          "excerpt": {
            "type": [
              "null",
              "string"
            ]
          },
          "isExcerptTruncated": {
            "type": "boolean"
          },
          "tokenCount": {
            "type": "integer",
            "format": "int32"
          },
          "fastDistance": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "distance": {
            "type": "number",
            "format": "double"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "citation": {
            "$ref": "#/components/schemas/AiCandidateCitation"
          }
        }
      },
      "AiApiSearchResult": {
        "type": "object",
        "properties": {
          "mode": {
            "type": [
              "null",
              "string"
            ]
          },
          "modelKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "dimensions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "candidates": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/AiApiSearchCandidate"
            }
          }
        }
      },
      "AiApiStatus": {
        "type": "object",
        "properties": {
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "canAiReadRecords": {
            "type": "boolean"
          },
          "isAccountOwner": {
            "type": "boolean"
          },
          "modelKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "modelVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "supportedDimensions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      },
      "AiCandidateCitation": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "integer",
            "format": "int64"
          },
          "chunkId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceRecordId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceModuleId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceTableName": {
            "type": [
              "null",
              "string"
            ]
          },
          "sourcePrimaryId": {
            "type": "string",
            "format": "uuid"
          },
          "pageNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "documentElementId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "documentElementType": {
            "type": [
              "null",
              "string"
            ]
          },
          "visualReferences": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/AiCandidateVisualReference"
            }
          },
          "knowledge": {
            "$ref": "#/components/schemas/AiKnowledgeCitation"
          },
          "stableKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AiCandidateVisualReference": {
        "type": "object",
        "properties": {
          "visualId": {
            "type": "integer",
            "format": "int64"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "storageKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AiInsightStateRequest": {
        "type": "object",
        "properties": {
          "markViewed": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isPinned": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isHidden": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "snoozedUntilUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "clearSnooze": {
            "type": "boolean"
          }
        }
      },
      "AiKnowledgeCitation": {
        "type": "object",
        "properties": {
          "knowledgeArticleId": {
            "type": "string",
            "format": "uuid"
          },
          "knowledgeRevisionId": {
            "type": "string",
            "format": "uuid"
          },
          "revisionNumber": {
            "type": "integer",
            "format": "int32"
          },
          "knowledgeType": {
            "type": [
              "null",
              "string"
            ]
          },
          "authorityLevel": {
            "type": [
              "null",
              "string"
            ]
          },
          "publishedUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "lastReviewedUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "nextReviewUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "sourceUpdatedUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "AiRebuildReceipt": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "integer",
            "format": "int64"
          },
          "wasCreated": {
            "type": "boolean"
          }
        }
      },
      "AiRebuildStatus": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "targetDimension": {
            "type": "integer",
            "format": "int32"
          },
          "itemsTotal": {
            "type": "integer",
            "format": "int32"
          },
          "itemsCompleted": {
            "type": "integer",
            "format": "int32"
          },
          "itemsFailed": {
            "type": "integer",
            "format": "int32"
          },
          "itemsRemaining": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "AiSourceChangeScheduleReceipt": {
        "type": "object",
        "properties": {
          "detectedCount": {
            "type": "integer",
            "format": "int32"
          },
          "claimedCount": {
            "type": "integer",
            "format": "int32"
          },
          "queuedCount": {
            "type": "integer",
            "format": "int32"
          },
          "alreadyScheduledCount": {
            "type": "integer",
            "format": "int32"
          },
          "newCount": {
            "type": "integer",
            "format": "int32"
          },
          "changedCount": {
            "type": "integer",
            "format": "int32"
          },
          "deletedCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "AiSourceCitation": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "integer",
            "format": "int64"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceModuleId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceTableName": {
            "type": [
              "null",
              "string"
            ]
          },
          "sourcePrimaryId": {
            "type": "string",
            "format": "uuid"
          },
          "stableKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ApiErrorResponse": {
        "required": [
          "contractVersion",
          "code",
          "error",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "minLength": 1,
            "type": "string"
          },
          "error": {
            "minLength": 1,
            "type": "string"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "AppDesignAiInsightStarterWrite": {
        "type": "object",
        "properties": {
          "directiveKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "promptText": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleKeys": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "insightCategory": {
            "type": [
              "null",
              "string"
            ]
          },
          "isEnabled": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignAuthorization": {
        "type": "object",
        "properties": {
          "canDesign": {
            "type": "boolean"
          }
        }
      },
      "AppDesignCustomFieldPolicyWrite": {
        "type": "object",
        "properties": {
          "allowTenantFields": {
            "type": "boolean"
          },
          "maxTenantFields": {
            "type": "integer",
            "format": "int32"
          },
          "maxBuilderFields": {
            "type": "integer",
            "format": "int32"
          },
          "expectedPolicyVersion": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "AppDesignCustomFieldWrite": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataType": {
            "type": [
              "null",
              "string"
            ]
          },
          "required": {
            "type": "boolean"
          },
          "searchable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "defaultValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "validationRegex": {
            "type": [
              "null",
              "string"
            ]
          },
          "minValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "maxValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "maxLength": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "options": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "fieldGroup": {
            "type": [
              "null",
              "string"
            ]
          },
          "hidden": {
            "type": "boolean"
          },
          "encrypted": {
            "type": "boolean"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignDebugEventWrite": {
        "type": "object",
        "properties": {
          "debugEventId": {
            "type": "string",
            "format": "uuid"
          },
          "actionId": {
            "type": "string",
            "format": "uuid"
          },
          "parentActionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "operation": {
            "type": [
              "null",
              "string"
            ]
          },
          "outcome": {
            "type": [
              "null",
              "string"
            ]
          },
          "source": {
            "type": [
              "null",
              "string"
            ]
          },
          "durationMilliseconds": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "buildVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "componentVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          },
          "failureCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessActionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "pageKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "blockId": {
            "type": [
              "null",
              "string"
            ]
          },
          "refreshBindingId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "occurredUtc": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AppDesignDebugSessionStartRequest": {
        "type": "object",
        "properties": {
          "browserPageInstanceId": {
            "type": "string",
            "format": "uuid"
          },
          "pageKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignLinkTypeWrite": {
        "type": "object",
        "properties": {
          "relationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "inverseName": {
            "type": [
              "null",
              "string"
            ]
          },
          "fromModuleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "toModuleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "allowsMany": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignModuleVocabularyWrite": {
        "type": "object",
        "properties": {
          "singularLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "pluralLabel": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignPageActiveReceipt": {
        "required": [
          "contractVersion",
          "saasAppId",
          "saasAppPageId",
          "pageKey",
          "isActive",
          "pageVersion",
          "pageHistoryId",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "saasAppPageId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "pageKey": {
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "pageVersion": {
            "type": "integer",
            "format": "int32"
          },
          "pageHistoryId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "AppDesignPageActiveRequest": {
        "required": [
          "isActive",
          "expectedPageVersion"
        ],
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean"
          },
          "expectedPageVersion": {
            "maximum": 2147483646,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "AppDesignPageCreateRequest": {
        "type": "object",
        "properties": {
          "pageKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "pageName": {
            "type": [
              "null",
              "string"
            ]
          },
          "sourcePageKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "slug": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignPageDraftSaveRequest": {
        "type": "object",
        "properties": {
          "pageJson": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "metaJson": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "changeNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "expectedPageVersion": {
            "type": "integer",
            "format": "int32"
          },
          "acknowledgeIdLoss": {
            "type": "boolean"
          },
          "expectedDraftHistoryId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "AppDesignPagePublishRequest": {
        "type": "object",
        "properties": {
          "fromHistoryId": {
            "type": "string",
            "format": "uuid"
          },
          "expectedPageVersion": {
            "type": "integer",
            "format": "int32"
          },
          "changeNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignPersonalFileLimitWrite": {
        "type": "object",
        "properties": {
          "defaultMaxFiles": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "ceilingMaxFiles": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppDesignTenantPresentationPolicyRequest": {
        "type": "object",
        "properties": {
          "canAssignUsers": {
            "type": "boolean"
          },
          "canOverrideMenu": {
            "type": "boolean"
          },
          "allowedPageKeys": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "expectedPolicyVersion": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "AppDesignUserTypeMenuSaveRequest": {
        "type": "object",
        "properties": {
          "dashboardPageKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "menu": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "expectedMenuVersion": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "expectedUserTypeVersion": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "AppDesignUserTypeUpsertRequest": {
        "type": "object",
        "properties": {
          "userTypeName": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "portalKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "dashboardPageKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "expectedVersion": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "ApprovalQueueAction": {
        "required": [
          "aiActionSuggestionId",
          "actionKey",
          "actionName",
          "confidenceScore",
          "suggestedInputJson"
        ],
        "type": "object",
        "properties": {
          "aiActionSuggestionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "actionKey": {
            "minLength": 1,
            "type": "string"
          },
          "actionName": {
            "minLength": 1,
            "type": "string"
          },
          "confidenceScore": {
            "type": "number",
            "format": "double"
          },
          "suggestedInputJson": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ApprovalQueueItem": {
        "required": [
          "suggestionBatchId",
          "inboxItemId",
          "batchStatus",
          "summary",
          "intent",
          "riskLevel",
          "overallConfidence",
          "basedOnActivityVersion",
          "preparedUtc",
          "activityVersion",
          "sourceType",
          "subject",
          "previewText",
          "priority",
          "lastActivityUtc",
          "isStale",
          "draftResponseJson"
        ],
        "type": "object",
        "properties": {
          "suggestionBatchId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "inboxItemId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "batchStatus": {
            "minLength": 1,
            "type": "string"
          },
          "summary": {
            "minLength": 1,
            "type": "string"
          },
          "intent": {
            "minLength": 1,
            "type": "string"
          },
          "riskLevel": {
            "minLength": 1,
            "type": "string"
          },
          "overallConfidence": {
            "type": "number",
            "format": "double"
          },
          "basedOnActivityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "preparedUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "activityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "sourceType": {
            "minLength": 1,
            "type": "string"
          },
          "subject": {
            "minLength": 1,
            "type": "string"
          },
          "previewText": {
            "minLength": 1,
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "format": "uint8"
          },
          "lastActivityUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "isStale": {
            "type": "boolean"
          },
          "draftResponseJson": {
            "minLength": 1,
            "type": "string"
          },
          "suggestedActions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ApprovalQueueAction"
            }
          }
        }
      },
      "ApprovedActionExecution": {
        "required": [
          "aiActionExecutionId",
          "aiActionSuggestionId",
          "actionKey"
        ],
        "type": "object",
        "properties": {
          "aiActionExecutionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "aiActionSuggestionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "actionKey": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "AttentionLegoPresentation": {
        "type": "object",
        "properties": {
          "presentationVersion": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "columns": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FavoriteLegoPresentationColumn"
            }
          },
          "rows": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FavoriteLegoPresentationRow"
            }
          },
          "actions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoPresentationAction"
            }
          },
          "page": {
            "$ref": "#/components/schemas/AttentionLegoPresentationPage"
          }
        }
      },
      "AttentionLegoPresentationPage": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "totalRecords": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "totalIsExact": {
            "type": "boolean"
          },
          "nextPriority": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "nextLastActivityUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "nextRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CalendarCreatedRelationReceipt": {
        "required": [
          "contractVersion",
          "recordRelationId",
          "fromRecordId",
          "toRecordId",
          "relationKey",
          "created"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "enum": [
              1
            ],
            "type": "integer"
          },
          "recordRelationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "fromRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "toRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "relationKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "created": {
            "enum": [
              true
            ],
            "type": "boolean"
          }
        }
      },
      "CalendarCreateLinkRequest": {
        "required": [
          "relatedRecordId",
          "relationKey",
          "relationDirection"
        ],
        "type": "object",
        "properties": {
          "relatedRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "relationKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "relationDirection": {
            "minLength": 1,
            "pattern": "^(SourceToEvent|EventToSource)$",
            "enum": [
              "SourceToEvent",
              "EventToSource"
            ],
            "type": "string"
          }
        }
      },
      "CalendarDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Exact custom calendar date and time, stored as timezone-unspecified DATETIME2(7). Preserve the returned text and up to seven fractional digits. Do not append a zone, convert through JavaScript Date, or round with toISOString(). When editing an unzoned value, send an unzoned value. This is not an event UTC instant or a revision."
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        }
      },
      "CalendarExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CalendarFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "CalendarMutationResponse": {
        "type": "object",
        "properties": {
          "relatedRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "relationDirection": {
            "type": [
              "null",
              "string"
            ]
          },
          "relation": {
            "$ref": "#/components/schemas/CalendarCreatedRelationReceipt"
          },
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "eventId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "CalendarRemovalResponse": {
        "required": [
          "recordId",
          "objectKey",
          "deleted",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "minLength": 1,
            "type": "string"
          },
          "deleted": {
            "type": "boolean"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "CalendarUpdateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "title",
          "startUtc",
          "endUtc"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
            "type": "string",
            "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
          },
          "title": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "startUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "endUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "isAllDay": {
            "type": "boolean"
          },
          "locationText": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "recurrenceRule": {
            "type": [
              "null",
              "string"
            ]
          },
          "recurrenceEnd": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "reminderMinutes": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "isPrivate": {
            "type": "boolean"
          },
          "videoConferenceUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CalendarDynamicFieldInput"
            }
          }
        },
        "description": "Updates an existing event with its exact current updatedUtc revision and complete title/startUtc/endUtc fields. Retains visibility. Non-null create-only isPersonal, dataRoleId, locationScope and link are invalid on edit. The legacy Calendar binder ignores these fields when null and ignores unknown fields; it is less strict than the communications update binders. Send only declared writable fields. Moving visibility is tenant-runtime only; there is no public Developer visibility route."
      },
      "CalendarWriteRequest": {
        "required": [
          "isPersonal",
          "title",
          "startUtc",
          "endUtc"
        ],
        "type": "object",
        "properties": {
          "link": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CalendarCreateLinkRequest"
              },
              {
                "type": "null"
              }
            ],
            "description": "Omit or send null for an unlinked event. An explicit link object creates the event and relationship atomically."
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque UTC revision string with up to seven fractional digits. Preserve the exact returned value; never convert it to a JavaScript Date or round it with toISOString()."
          },
          "isPersonal": {
            "type": "boolean"
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "startUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "endUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "isAllDay": {
            "type": "boolean"
          },
          "locationText": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "recurrenceRule": {
            "type": [
              "null",
              "string"
            ]
          },
          "recurrenceEnd": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "reminderMinutes": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "isPrivate": {
            "type": "boolean"
          },
          "videoConferenceUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CalendarDynamicFieldInput"
            }
          }
        }
      },
      "CaseFlowTransitionRequest": {
        "type": "object",
        "properties": {
          "expectedStage": {
            "type": [
              "null",
              "string"
            ]
          },
          "targetStage": {
            "type": [
              "null",
              "string"
            ]
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "checklistRunId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "ChatMessageUpdateRequest": {
        "type": "object",
        "properties": {
          "messageText": {
            "type": [
              "null",
              "string"
            ]
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ChatMessageWriteRequest": {
        "type": "object",
        "properties": {
          "messageText": {
            "type": [
              "null",
              "string"
            ]
          },
          "parentChatMessageId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "attachedFileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "mentionedUserIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ChatReactionRequest": {
        "required": [
          "isActive"
        ],
        "type": "object",
        "properties": {
          "reaction": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ChatRoomDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ChatRoomFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ChatRoomMemberWriteRequest": {
        "type": "object",
        "properties": {
          "isMember": {
            "type": "boolean"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "isMuted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ChatRoomMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "chatRoomId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "chatMessageId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "messageRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "memberUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "createdUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "lastReadMessageId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "lastReadUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isMember": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isAdmin": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isMuted": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "reaction": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "reactionCount": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "unreadCount": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "ChatRoomUpdateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "roomName"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "roomName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "roomType": {
            "type": "integer",
            "format": "uint8"
          },
          "isArchived": {
            "type": "boolean"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ChatRoomDynamicFieldInput"
            }
          }
        },
        "additionalProperties": false,
        "description": "Ordinary edits retain record visibility. Create-only isPersonal, dataRoleId and locationScope fields are rejected, including explicit null."
      },
      "ChatRoomWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "roomName": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "roomType": {
            "type": "integer",
            "format": "uint8"
          },
          "isArchived": {
            "type": "boolean"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ChatRoomDynamicFieldInput"
            }
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "ChecklistCancelRequest": {
        "required": [
          "expectedRevision",
          "reason"
        ],
        "type": "object",
        "properties": {
          "expectedRevision": {
            "maximum": 9223372036854775806,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "reason": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ChecklistExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ChecklistItemUpdateRequest": {
        "required": [
          "expectedRevision",
          "status"
        ],
        "type": "object",
        "properties": {
          "expectedRevision": {
            "maximum": 9223372036854775807,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "minLength": 1,
            "enum": [
              "NotStarted",
              "Completed",
              "Failed",
              "NotApplicable"
            ],
            "type": "string"
          },
          "responseText": {
            "maxLength": 4000,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ChecklistMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "checklistTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "approvalWorkflowDefinitionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "itemCount": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "checklistRunId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "checklistRunItemId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "checklistItemEvidenceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "fileRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "proofKind": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "revision": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "itemRevision": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "runRevision": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "workflowRunId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "workflowRunStepId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "inboxItemId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "inboxActivityVersion": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "wasReplay": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "ChecklistProofAttachRequest": {
        "required": [
          "fileRecordId",
          "proofKind"
        ],
        "type": "object",
        "properties": {
          "fileRecordId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "proofKind": {
            "minLength": 1,
            "enum": [
              "Document",
              "Photo"
            ],
            "type": "string"
          },
          "caption": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ChecklistRunHistoryEvent": {
        "required": [
          "eventId",
          "actionKey",
          "actorUserId",
          "occurredUtc"
        ],
        "type": "object",
        "properties": {
          "eventId": {
            "maxLength": 19,
            "minLength": 1,
            "pattern": "^[1-9][0-9]{0,18}$",
            "type": "string",
            "description": "Exact positive SQL BIGINT, at most 9223372036854775807. Keep as a string."
          },
          "actionKey": {
            "minLength": 1,
            "enum": [
              "start",
              "item_update",
              "proof_attach",
              "proof_remove",
              "submit",
              "cancel",
              "approve",
              "reject"
            ],
            "type": "string"
          },
          "actorUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "occurredUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
            "type": "string",
            "description": "UTC metadata timestamp. Preserve every fractional digit."
          }
        }
      },
      "ChecklistRunHistoryPage": {
        "required": [
          "contractVersion",
          "hasMore",
          "nextBeforeId",
          "items",
          "saasAppId",
          "appAccountId",
          "targetRecordId",
          "checklistRunId",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "enum": [
              1
            ],
            "type": "integer"
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextBeforeId": {
            "maxLength": 19,
            "pattern": "^[1-9][0-9]{0,18}$",
            "type": [
              "null",
              "string"
            ],
            "description": "Exact positive SQL BIGINT, at most 9223372036854775807. Keep as a string."
          },
          "items": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "required": [
                "eventId",
                "actionKey",
                "actorUserId",
                "occurredUtc"
              ],
              "type": "object",
              "properties": {
                "eventId": {
                  "maxLength": 19,
                  "minLength": 1,
                  "pattern": "^[1-9][0-9]{0,18}$",
                  "type": "string",
                  "description": "Exact positive SQL BIGINT, at most 9223372036854775807. Keep as a string."
                },
                "actionKey": {
                  "minLength": 1,
                  "enum": [
                    "start",
                    "item_update",
                    "proof_attach",
                    "proof_remove",
                    "submit",
                    "cancel",
                    "approve",
                    "reject"
                  ],
                  "type": "string"
                },
                "actorUserId": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "format": "uuid"
                },
                "occurredUtc": {
                  "minLength": 1,
                  "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
                  "type": "string",
                  "description": "UTC metadata timestamp. Preserve every fractional digit."
                }
              }
            }
          },
          "saasAppId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "targetRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "checklistRunId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ChecklistRunStartRequest": {
        "required": [
          "targetRecordId",
          "checklistTemplateId"
        ],
        "type": "object",
        "properties": {
          "targetRecordId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "checklistTemplateId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "maxLength": 300,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ChecklistSubmitRequest": {
        "required": [
          "expectedRevision",
          "requestId"
        ],
        "type": "object",
        "properties": {
          "expectedRevision": {
            "maximum": 9223372036854775807,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "requestId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ChecklistTemplateCreateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ChecklistTemplateItemWriteRequest"
            }
          }
        }
      },
      "ChecklistTemplateItemWriteRequest": {
        "type": "object",
        "properties": {
          "itemKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "instructions": {
            "type": [
              "null",
              "string"
            ]
          },
          "responseType": {
            "type": [
              "null",
              "string"
            ]
          },
          "isRequired": {
            "type": "boolean"
          },
          "evidenceRequirement": {
            "type": [
              "null",
              "string"
            ]
          },
          "minimumEvidenceCount": {
            "type": "integer",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ChecklistTemplateUpdateRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ChecklistTemplateItemWriteRequest"
            }
          }
        }
      },
      "CompanyNewsDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CompanyNewsExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CompanyNewsFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "CompanyNewsMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "companyNewsId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isPublished": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "CompanyNewsPublishedRequest": {
        "required": [
          "isPublished"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isPublished": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "CompanyNewsRemovalResponse": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted": {
            "type": "boolean"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "CompanyNewsUpdateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "title"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "title": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "body": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "publishUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "expiresUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isPublished": {
            "type": "boolean"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CompanyNewsDynamicFieldInput"
            }
          }
        },
        "additionalProperties": false,
        "description": "Ordinary edits retain record visibility. Create-only isPersonal, dataRoleId and locationScope fields are rejected, including explicit null."
      },
      "CompanyNewsWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "body": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "publishUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "expiresUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isPublished": {
            "type": "boolean"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CompanyNewsDynamicFieldInput"
            }
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "ContactCreateVisibilityOption": {
        "type": "object",
        "properties": {
          "scope": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ContactCreateVisibilityOptionsResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "options": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ContactCreateVisibilityOption"
            }
          }
        }
      },
      "ContactDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        }
      },
      "ContactExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ContactFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "ContactImportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canImport": {
            "type": "boolean"
          },
          "canImportPersonal": {
            "type": "boolean"
          },
          "importLimit": {
            "type": "integer",
            "format": "int32"
          },
          "dataRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ContactImportRole"
            }
          }
        }
      },
      "ContactImportCheckResult": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "rowCount": {
            "type": "integer",
            "format": "int32"
          },
          "validCount": {
            "type": "integer",
            "format": "int32"
          },
          "invalidRows": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ContactImportProblem"
            }
          },
          "matchedRows": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ContactImportMatch"
            }
          }
        }
      },
      "ContactImportMatch": {
        "type": "object",
        "properties": {
          "rowNumber": {
            "type": "integer",
            "format": "int32"
          },
          "matchCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ContactImportProblem": {
        "type": "object",
        "properties": {
          "rowNumber": {
            "type": "integer",
            "format": "int32"
          },
          "errorNumber": {
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ContactImportReceipt": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "importId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": "boolean"
          },
          "matchedRows": {
            "type": [
              "null",
              "string"
            ]
          },
          "totalRows": {
            "type": "integer",
            "format": "int32"
          },
          "createdRows": {
            "type": "integer",
            "format": "int32"
          },
          "updatedRows": {
            "type": "integer",
            "format": "int32"
          },
          "skippedRows": {
            "type": "integer",
            "format": "int32"
          },
          "failedRows": {
            "type": "integer",
            "format": "int32"
          },
          "rows": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ContactImportRowOutcome"
            }
          }
        }
      },
      "ContactImportRole": {
        "type": "object",
        "properties": {
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "roleName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ContactImportRowOutcome": {
        "type": "object",
        "properties": {
          "rowNumber": {
            "type": "integer",
            "format": "int32"
          },
          "outcome": {
            "type": [
              "null",
              "string"
            ]
          },
          "recordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "errorNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ContactInboundAddress": {
        "required": [
          "identityId",
          "channelKey",
          "address",
          "createdUtc"
        ],
        "type": "object",
        "properties": {
          "identityId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "channelKey": {
            "minLength": 1,
            "type": "string"
          },
          "address": {
            "minLength": 1,
            "type": "string"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ContactInboundAddresses": {
        "required": [
          "contractVersion",
          "recordId",
          "canEdit",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "canEdit": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactInboundAddress"
            }
          }
        }
      },
      "ContactInboundAddressReceipt": {
        "required": [
          "contractVersion",
          "outcome",
          "recordId",
          "canEdit",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "outcome": {
            "minLength": 1,
            "type": "string"
          },
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "canEdit": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactInboundAddress"
            }
          }
        }
      },
      "ContactInboundAddressRequest": {
        "type": "object",
        "properties": {
          "channelKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ContactListResponse": {
        "required": [
          "contractVersion",
          "pageNumber",
          "pageSize",
          "totalRecords",
          "totalPages",
          "totalIsExact",
          "hasMore",
          "items"
        ],
        "type": "object",
        "properties": {
          "sortBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "sortDirection": {
            "type": [
              "null",
              "string"
            ]
          },
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "browseLimit": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "description": "Known authorized record count. When totalIsExact is false this is a lower bound, not the collection size.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Pages derived from totalRecords. When totalIsExact is false this is a lower bound and not a stopping condition. Continue using hasMore.",
            "format": "int32"
          },
          "totalIsExact": {
            "type": "boolean",
            "description": "True only when totalRecords and totalPages are exact for this response. A false value must never be presented as an exact count."
          },
          "hasMore": {
            "type": "boolean",
            "description": "When true, request pageNumber + 1 with the same pageSize, filters and identity. Stop when false; do not stop at the initial totalPages."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactSummary"
            }
          }
        }
      },
      "ContactMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "contactId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "ContactRemovalResponse": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted": {
            "type": "boolean"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ContactSummary": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "contactId": {
            "type": "string",
            "format": "uuid"
          },
          "contactType": {
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "companyName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "mobilePhone": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationTimeZone": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordLocationTimeZoneContext"
              },
              {
                "type": "null"
              }
            ]
          },
          "timeZone": {
            "type": [
              "null",
              "string"
            ]
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "ContactWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactType": {
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "companyName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "mobilePhone": {
            "type": [
              "null",
              "string"
            ]
          },
          "address1": {
            "type": [
              "null",
              "string"
            ]
          },
          "address2": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "stateProvince": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ContactDynamicFieldInput"
            }
          }
        }
      },
      "ConversationAppliedTag": {
        "required": [
          "tagId",
          "tagKey",
          "label",
          "colorKey",
          "isActive",
          "taggedUtc"
        ],
        "type": "object",
        "properties": {
          "tagId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "tagKey": {
            "minLength": 1,
            "type": "string"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "colorKey": {
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "taggedUtc": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ConversationCreateRequest": {
        "type": "object",
        "properties": {
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "channelTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "channelConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contactRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignedToUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ConversationDynamicFieldInput"
            }
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ConversationDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ConversationFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ConversationMessageWriteRequest": {
        "type": "object",
        "properties": {
          "direction": {
            "type": [
              "null",
              "string"
            ]
          },
          "bodyText": {
            "type": [
              "null",
              "string"
            ]
          },
          "bodyHtml": {
            "type": [
              "null",
              "string"
            ]
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "toAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "ccAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledSendUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ConversationMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "conversationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "conversationMessageId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "duplicate": {
            "type": "boolean"
          }
        }
      },
      "ConversationRecordTagReceipt": {
        "required": [
          "contractVersion",
          "outcome",
          "recordId",
          "canEdit",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "outcome": {
            "minLength": 1,
            "type": "string"
          },
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "canEdit": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationAppliedTag"
            }
          }
        }
      },
      "ConversationRecordTags": {
        "required": [
          "contractVersion",
          "recordId",
          "canEdit",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "canEdit": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationAppliedTag"
            }
          }
        }
      },
      "ConversationRemovalResponse": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "conversationId": {
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted": {
            "type": "boolean"
          },
          "deletionEventId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "deletionScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ConversationTagDefinition": {
        "required": [
          "tagId",
          "tagKey",
          "label",
          "colorKey",
          "sortOrder",
          "isActive",
          "createdUtc",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "tagId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "tagKey": {
            "minLength": 1,
            "type": "string"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "colorKey": {
            "minLength": 1,
            "type": "string"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "ConversationTagPage": {
        "required": [
          "contractVersion",
          "items",
          "hasMore",
          "nextAfterId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationTagDefinition"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ConversationTagReceipt": {
        "required": [
          "contractVersion",
          "outcome",
          "tag"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "outcome": {
            "minLength": 1,
            "type": "string"
          },
          "tag": {
            "$ref": "#/components/schemas/ConversationTagDefinition"
          }
        }
      },
      "ConversationTagSaveRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "tagKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "sortOrder": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "ConversationUpdateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "subject",
          "status",
          "priority"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "subject": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "status": {
            "minLength": 1,
            "enum": [
              "Open",
              "Pending",
              "Snoozed",
              "Closed"
            ],
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "assignedToUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "snoozeUntilUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contactRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ConversationDynamicFieldInput"
            }
          }
        },
        "additionalProperties": false,
        "description": "Ordinary edits retain record visibility. isPersonal, dataRoleId and locationScope are rejected, including explicit null."
      },
      "CreateDeveloperInvitationRequest": {
        "required": [
          "email",
          "displayName",
          "userTypeKey",
          "locationScopeMode"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 320,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "userTypeKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "dataRoleIds": {
            "maxItems": 100,
            "minItems": 1,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "locationScopeMode": {
            "minLength": 1,
            "enum": [
              "all",
              "selected"
            ],
            "type": "string"
          },
          "locationIds": {
            "maxItems": 100,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "lifetimeHours": {
            "maximum": 720,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CreateDeveloperTenantAccountRequest": {
        "required": [
          "providerKey",
          "externalAccountId",
          "accountName",
          "primaryEmail",
          "ownerExternalSubject",
          "ownerEmail",
          "ownerDisplayName"
        ],
        "type": "object",
        "properties": {
          "providerKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "externalAccountId": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "accountName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "primaryEmail": {
            "maxLength": 320,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "ownerExternalSubject": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "ownerEmail": {
            "maxLength": 320,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "ownerDisplayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "dataRoles": {
            "maxItems": 5,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantBootstrapRoleRequest"
            }
          },
          "locations": {
            "maxItems": 5,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantBootstrapLocationRequest"
            }
          }
        }
      },
      "CreateDeveloperTenantUserRequest": {
        "required": [
          "providerKey",
          "externalSubject",
          "email",
          "displayName",
          "userTypeKey",
          "dataRoleIds",
          "locationScopeMode"
        ],
        "type": "object",
        "properties": {
          "providerKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "externalSubject": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "maxLength": 320,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "userTypeKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "dataRoleIds": {
            "maxItems": 100,
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "locationScopeMode": {
            "minLength": 1,
            "enum": [
              "all",
              "selected"
            ],
            "type": "string"
          },
          "locationIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "CustomFieldDefinition": {
        "required": [
          "fieldDefinitionId",
          "fieldKey",
          "label",
          "dataType",
          "definitionScope",
          "required",
          "searchable",
          "sortable",
          "sortOrder",
          "hidden",
          "updatedUtc",
          "canManage"
        ],
        "type": "object",
        "properties": {
          "fieldDefinitionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "fieldKey": {
            "minLength": 1,
            "type": "string"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "dataType": {
            "minLength": 1,
            "type": "string"
          },
          "definitionScope": {
            "minLength": 1,
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "searchable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "defaultValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "validationRegex": {
            "type": [
              "null",
              "string"
            ]
          },
          "minValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "maxValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "maxLength": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "options": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "fieldGroup": {
            "type": [
              "null",
              "string"
            ]
          },
          "hidden": {
            "type": "boolean"
          },
          "encrypted": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "canManage": {
            "type": "boolean"
          }
        }
      },
      "CustomFieldMutation": {
        "required": [
          "contractVersion",
          "fieldDefinitionId",
          "fieldKey",
          "dataType",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "fieldDefinitionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "fieldKey": {
            "minLength": 1,
            "type": "string"
          },
          "dataType": {
            "minLength": 1,
            "type": "string"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "CustomFieldValue": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "fieldLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataType": {
            "type": [
              "null",
              "string"
            ]
          },
          "isRequired": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDecimalExact": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          }
        }
      },
      "CustomFieldValueWrite": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        }
      },
      "DeactivateDeveloperTenantUserRequest": {
        "required": [
          "expectedRevisionUtc"
        ],
        "type": "object",
        "properties": {
          "expectedRevisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "DeliveryDebugCounts": {
        "required": [
          "queued",
          "sending",
          "stuck",
          "failed",
          "sent24h"
        ],
        "type": "object",
        "properties": {
          "queued": {
            "type": "integer",
            "format": "int32"
          },
          "sending": {
            "type": "integer",
            "format": "int32"
          },
          "stuck": {
            "type": "integer",
            "format": "int32"
          },
          "failed": {
            "type": "integer",
            "format": "int32"
          },
          "sent24h": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DeliveryDebugItem": {
        "required": [
          "outboundMessageId",
          "conversationId",
          "channelKey",
          "subject",
          "toAddress",
          "deliveryStatus",
          "isStuck",
          "canRetry",
          "retryAttempts",
          "maxRetries",
          "failureCode",
          "failureType",
          "scheduledSendUtc",
          "leaseUntilUtc",
          "sentUtc",
          "createdUtc"
        ],
        "type": "object",
        "properties": {
          "outboundMessageId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "conversationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "channelKey": {
            "minLength": 1,
            "type": "string"
          },
          "subject": {
            "minLength": 1,
            "type": "string"
          },
          "toAddress": {
            "minLength": 1,
            "type": "string"
          },
          "deliveryStatus": {
            "minLength": 1,
            "type": "string"
          },
          "isStuck": {
            "type": "boolean"
          },
          "canRetry": {
            "type": "boolean"
          },
          "retryAttempts": {
            "type": "integer",
            "format": "int32"
          },
          "maxRetries": {
            "type": "integer",
            "format": "int32"
          },
          "failureCode": {
            "minLength": 1,
            "type": "string"
          },
          "failureType": {
            "minLength": 1,
            "type": "string"
          },
          "scheduledSendUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "leaseUntilUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "sentUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DeliveryDebugSummary": {
        "required": [
          "items",
          "counts",
          "asOfUtc"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryDebugItem"
            }
          },
          "counts": {
            "$ref": "#/components/schemas/DeliveryDebugCounts"
          },
          "asOfUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DeveloperAdministeredDataRole": {
        "required": [
          "dataRoleId",
          "roleName",
          "revisionUtc",
          "isActive",
          "canCreate",
          "canEdit",
          "canDelete",
          "canExport",
          "canAiReadRecords",
          "canExportRecords",
          "canBillRecords",
          "canViewTrustRecords",
          "canApproveDisbursementRecords",
          "memberCount"
        ],
        "type": "object",
        "properties": {
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "roleName": {
            "minLength": 1,
            "type": "string"
          },
          "revisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "canCreate": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          },
          "canExport": {
            "type": "boolean"
          },
          "canAiReadRecords": {
            "type": "boolean"
          },
          "canExportRecords": {
            "type": "boolean"
          },
          "canBillRecords": {
            "type": "boolean"
          },
          "canViewTrustRecords": {
            "type": "boolean"
          },
          "canApproveDisbursementRecords": {
            "type": "boolean"
          },
          "memberCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeveloperAdministeredDataRoleListResponse": {
        "required": [
          "contractVersion",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperAdministeredDataRole"
            }
          }
        }
      },
      "DeveloperAiIngestRequest": {
        "type": "object",
        "properties": {
          "schedulerBatchSize": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DeveloperAiRebuildRequest": {
        "required": [
          "operation"
        ],
        "type": "object",
        "properties": {
          "operation": {
            "minLength": 1,
            "type": "string"
          },
          "targetDimension": {
            "type": "integer",
            "format": "int32"
          },
          "targetSourceId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "reason": {
            "maxLength": 200,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperAiSearchRequest": {
        "required": [
          "query"
        ],
        "type": "object",
        "properties": {
          "query": {
            "maxLength": 32768,
            "minLength": 1,
            "type": "string"
          },
          "mode": {
            "enum": [
              "standard",
              "1024",
              "two-stage",
              "balanced",
              "high-resolution",
              "1998"
            ],
            "type": "string"
          },
          "topK": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "stage1Candidates": {
            "maximum": 2000,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "contextRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "DeveloperAuthContextResponse": {
        "required": [
          "saasAppId",
          "scopes",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "saasAppId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperConnectorCapabilityResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "sideEffect": {
            "type": [
              "null",
              "string"
            ]
          },
          "requiredScopes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DeveloperConnectorRegistryResponse": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "types": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperConnectorTypeResponse"
            }
          }
        }
      },
      "DeveloperConnectorTypeResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "version": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "capabilities": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperConnectorCapabilityResponse"
            }
          }
        }
      },
      "DeveloperCreateInboundEndpointRequest": {
        "required": [
          "endpointKey",
          "displayName"
        ],
        "type": "object",
        "properties": {
          "endpointKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "targetUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "targetTagId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "targetDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "defaultChannelTypeId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "defaultLocationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "conversationMode": {
            "maxLength": 10,
            "minLength": 1,
            "enum": [
              "ReuseOpen",
              "AlwaysNew"
            ],
            "type": "string"
          }
        }
      },
      "DeveloperCreateRecordRequest": {
        "required": [
          "title",
          "isPersonal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isPersonal": {
            "type": "boolean"
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          }
        }
      },
      "DeveloperCustomFieldRequest": {
        "required": [
          "fieldKey",
          "label",
          "dataType"
        ],
        "type": "object",
        "properties": {
          "fieldKey": {
            "maxLength": 100,
            "minLength": 2,
            "type": "string"
          },
          "label": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "dataType": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "searchable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          },
          "sortOrder": {
            "maximum": 1000000,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "defaultValue": {
            "maxLength": 500,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "validationRegex": {
            "maxLength": 500,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "minValue": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "maxValue": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "maxLength": {
            "maximum": 1000000,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "options": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "fieldGroup": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "hidden": {
            "type": "boolean"
          },
          "encrypted": {
            "type": "boolean"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperDatabaseContractPlane": {
        "type": "object",
        "properties": {
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "contractCount": {
            "type": "integer",
            "format": "int32"
          },
          "contractSha256": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperDatabaseContractSnapshot": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "contractSetSha256": {
            "type": [
              "null",
              "string"
            ]
          },
          "contractCount": {
            "type": "integer",
            "format": "int32"
          },
          "planes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperDatabaseContractPlane"
            }
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperDataConnectorOperationRequest": {
        "required": [
          "key"
        ],
        "type": "object",
        "properties": {
          "key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "method": {
            "maxLength": 10,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "path": {
            "maxLength": 500,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "document": {
            "maxLength": 65536,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "operationName": {
            "maxLength": 100,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "timeoutSeconds": {
            "maximum": 120,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DeveloperDataConnectorWriteRequest": {
        "required": [
          "connectorKey",
          "typeKey",
          "endpoint",
          "authType",
          "operations"
        ],
        "type": "object",
        "properties": {
          "connectorKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "typeKey": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string"
          },
          "secretReference": {
            "$ref": "#/components/schemas/SecretReference"
          },
          "endpoint": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "authType": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string"
          },
          "authHeaderName": {
            "maxLength": 100,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "operations": {
            "maxItems": 100,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperDataConnectorOperationRequest"
            }
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleAdminEntry": {
        "required": [
          "dataRoleId",
          "roleName",
          "userId",
          "displayName"
        ],
        "type": "object",
        "properties": {
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "roleName": {
            "minLength": 1,
            "type": "string"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          }
        }
      },
      "DeveloperDataRoleAdminListResponse": {
        "required": [
          "contractVersion",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperDataRoleAdminEntry"
            }
          }
        }
      },
      "DeveloperDataRoleAdminSetRequest": {
        "required": [
          "dataRoleId",
          "userId",
          "isDataRoleAdmin"
        ],
        "type": "object",
        "properties": {
          "dataRoleId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "isDataRoleAdmin": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleAdminSetResponse": {
        "required": [
          "contractVersion",
          "dataRoleId",
          "userId",
          "isDataRoleAdmin"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "isDataRoleAdmin": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleCandidate": {
        "required": [
          "userId",
          "displayName"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          }
        }
      },
      "DeveloperDataRoleCandidatePageResponse": {
        "required": [
          "contractVersion",
          "pageNumber",
          "pageSize",
          "hasMore",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperDataRoleCandidate"
            }
          }
        }
      },
      "DeveloperDataRoleMember": {
        "required": [
          "userId",
          "displayName",
          "status",
          "isDataRoleAdmin",
          "isAccountOwner"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "isDataRoleAdmin": {
            "type": "boolean"
          },
          "isAccountOwner": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleMemberPageResponse": {
        "required": [
          "contractVersion",
          "pageNumber",
          "pageSize",
          "hasMore",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperDataRoleMember"
            }
          }
        }
      },
      "DeveloperDataRoleMemberSetRequest": {
        "required": [
          "userId",
          "isMember"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "isMember": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleMemberSetResponse": {
        "required": [
          "contractVersion",
          "dataRoleId",
          "userId",
          "isMember"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "isMember": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperDataRoleSettingsRequest": {
        "required": [
          "expectedRevisionUtc",
          "roleName",
          "isActive",
          "canCreate",
          "canEdit",
          "canDelete",
          "canExport",
          "canAiReadRecords",
          "canExportRecords",
          "canBillRecords",
          "canViewTrustRecords",
          "canApproveDisbursementRecords"
        ],
        "type": "object",
        "properties": {
          "expectedRevisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "roleName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "canCreate": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          },
          "canExport": {
            "type": "boolean"
          },
          "canAiReadRecords": {
            "type": "boolean"
          },
          "canExportRecords": {
            "type": "boolean"
          },
          "canBillRecords": {
            "type": "boolean"
          },
          "canViewTrustRecords": {
            "type": "boolean"
          },
          "canApproveDisbursementRecords": {
            "type": "boolean"
          }
        }
      },
      "DeveloperDataRoleSettingsResponse": {
        "required": [
          "contractVersion",
          "dataRoleId",
          "revisionUtc"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "revisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "DeveloperDataRoleViewChoicesResponse": {
        "required": [
          "contractVersion",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperRecordCreateRoleOption"
            }
          }
        }
      },
      "DeveloperDelegatedTokenResponse": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "format": "uuid"
          },
          "accessToken": {
            "type": [
              "null",
              "string"
            ]
          },
          "tokenType": {
            "type": [
              "null",
              "string"
            ]
          },
          "expiresUtc": {
            "type": "string",
            "format": "date-time"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "scopes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperGoClawSkillAssignmentRequest": {
        "required": [
          "skillVersionId"
        ],
        "type": "object",
        "properties": {
          "skillVersionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperGoClawSkillAssignmentResponse": {
        "required": [
          "assignmentId",
          "goClawAgentId",
          "skillKey",
          "skillVersionId",
          "assignedUtc"
        ],
        "type": "object",
        "properties": {
          "assignmentId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "goClawAgentId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "skillKey": {
            "minLength": 1,
            "type": "string"
          },
          "skillVersionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "assignedUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DeveloperInstalledServiceCatalogResponse": {
        "required": [
          "contractSetSha256",
          "services"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "contractSetSha256": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperInstalledServiceContractResponse"
            }
          }
        }
      },
      "DeveloperInstalledServiceContractResponse": {
        "required": [
          "serviceKey",
          "packageVersion",
          "releaseFingerprintSha256",
          "healthState",
          "licenseState",
          "endpoints"
        ],
        "type": "object",
        "properties": {
          "serviceKey": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "packageVersion": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "releaseFingerprintSha256": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "healthState": {
            "minLength": 1,
            "enum": [
              "Green",
              "Yellow",
              "Red"
            ],
            "type": "string"
          },
          "licenseState": {
            "minLength": 1,
            "enum": [
              "Active",
              "Suspended",
              "Revoked"
            ],
            "type": "string"
          },
          "isExecutable": {
            "type": "boolean"
          },
          "endpoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperInstalledServiceEndpointContractResponse"
            }
          }
        }
      },
      "DeveloperInstalledServiceEndpointContractResponse": {
        "required": [
          "endpointKey",
          "serviceHttpMethod",
          "serviceRoute",
          "inputSchema",
          "outputSchema",
          "requiredPermissionKey",
          "executionMode"
        ],
        "type": "object",
        "properties": {
          "endpointKey": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "serviceHttpMethod": {
            "minLength": 1,
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ],
            "type": "string"
          },
          "serviceRoute": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "inputSchema": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "outputSchema": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "requiredPermissionKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "timeoutSeconds": {
            "maximum": 900,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "executionMode": {
            "minLength": 1,
            "enum": [
              "sync",
              "async"
            ],
            "type": "string"
          },
          "isAvailable": {
            "type": "boolean"
          },
          "canInvoke": {
            "type": "boolean"
          }
        }
      },
      "DeveloperInstalledServiceInvokeRequest": {
        "type": "object",
        "properties": {
          "payload": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "sourceRecordIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "idempotencyKey": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "DeveloperInstalledServiceInvokeResponse": {
        "required": [
          "statusCode",
          "payload"
        ],
        "type": "object",
        "properties": {
          "statusCode": {
            "maximum": 202,
            "minimum": 200,
            "type": "integer",
            "format": "int32"
          },
          "payload": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "DeveloperInstalledServiceTaskCancellationResponse": {
        "required": [
          "taskId",
          "cancellationState",
          "revision"
        ],
        "type": "object",
        "properties": {
          "taskId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "cancellationState": {
            "minLength": 1,
            "pattern": "^(requested|effective|too_late)$",
            "type": "string"
          },
          "revision": {
            "maximum": 9223372036854776000,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeveloperInstalledServiceTaskCancelRequest": {
        "type": "object",
        "properties": {
          "expectedRevision": {
            "maximum": 9223372036854776000,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          }
        }
      },
      "DeveloperInstalledServiceTaskResponse": {
        "required": [
          "resultType",
          "taskId",
          "status",
          "statusMessage",
          "createdAt",
          "lastUpdatedAt",
          "ttlMs",
          "pollIntervalMs",
          "revision",
          "nativeExecutionType",
          "nativeExecutionId",
          "cancellationState",
          "inputFingerprintSha256"
        ],
        "type": "object",
        "properties": {
          "resultType": {
            "minLength": 1,
            "pattern": "^complete$",
            "type": "string"
          },
          "taskId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "minLength": 1,
            "pattern": "^(working|completed|failed|cancelled)$",
            "type": "string"
          },
          "statusMessage": {
            "minLength": 1,
            "type": "string"
          },
          "createdAt": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "lastUpdatedAt": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "ttlMs": {
            "maximum": 9223372036854776000,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "pollIntervalMs": {
            "maximum": 60000,
            "minimum": 100,
            "type": "integer",
            "format": "int32"
          },
          "revision": {
            "maximum": 9223372036854776000,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "nativeExecutionType": {
            "minLength": 1,
            "pattern": "^installed-service-invocation$",
            "type": "string"
          },
          "nativeExecutionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "cancellationState": {
            "minLength": 1,
            "pattern": "^(none|requested|effective|too_late)$",
            "type": "string"
          },
          "outcomeCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "httpStatus": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "inputFingerprintSha256": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[0-9A-F]{64}$",
            "type": "string"
          }
        }
      },
      "DeveloperInvitationListResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "invitations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperInvitationSummary"
            }
          }
        }
      },
      "DeveloperInvitationMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "invitationId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "expiresUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          },
          "acceptanceToken": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperInvitationRevisionRequest": {
        "required": [
          "expectedRevisionUtc"
        ],
        "type": "object",
        "properties": {
          "expectedRevisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "lifetimeHours": {
            "maximum": 720,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DeveloperInvitationSummary": {
        "type": "object",
        "properties": {
          "invitationId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "userTypeKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationScopeMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "expiresUtc": {
            "type": "string",
            "format": "date-time"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "deliveryStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "deliveryCorrelationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "deliveredUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "dataRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantRoleResponse"
            }
          },
          "locations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantLocationResponse"
            }
          }
        }
      },
      "DeveloperLocationMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "locationId": {
            "type": "string",
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperLogEntry": {
        "type": "object",
        "properties": {
          "occurredUtc": {
            "type": "string",
            "format": "date-time"
          },
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "operationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "parentOperationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "eventType": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": [
              "null",
              "string"
            ]
          },
          "action": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "route": {
            "type": [
              "null",
              "string"
            ]
          },
          "recordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "wasSuccessful": {
            "type": "boolean"
          },
          "severity": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperLogQueryResult": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "queryCorrelationId": {
            "type": "string",
            "format": "uuid"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "logs": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperLogEntry"
            }
          }
        }
      },
      "DeveloperMcpProtocolMessage": {
        "type": "object"
      },
      "DeveloperOAuthAuthorizationRequest": {
        "required": [
          "providerKey",
          "connectionKey",
          "displayName",
          "scopes"
        ],
        "type": "object",
        "properties": {
          "providerKey": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "connectionKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "scopes": {
            "maxItems": 50,
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DeveloperOAuthCompletionRequest": {
        "required": [
          "providerKey",
          "state",
          "authorizationCode"
        ],
        "type": "object",
        "properties": {
          "providerKey": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "authorizationCode": {
            "maxLength": 8192,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "DeveloperOrganizationAdminDataRole": {
        "type": "object",
        "properties": {
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "roleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "canCreate": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          },
          "canExport": {
            "type": "boolean"
          },
          "canAiReadRecords": {
            "type": "boolean"
          },
          "canExportRecords": {
            "type": "boolean"
          },
          "canBillRecords": {
            "type": "boolean"
          },
          "canViewTrustRecords": {
            "type": "boolean"
          },
          "canApproveDisbursementRecords": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "permissionKeys": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DeveloperOrganizationAdminLocation": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "address1": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "stateProvince": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "type": [
              "null",
              "string"
            ]
          },
          "timeZone": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "managerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "DeveloperOrganizationAdminResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "primaryEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "users": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperOrganizationAdminUser"
            }
          },
          "dataRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperOrganizationAdminDataRole"
            }
          },
          "locations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperOrganizationAdminLocation"
            }
          },
          "userTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperOrganizationAdminUserType"
            }
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperOrganizationAdminUser": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "isAccountOwner": {
            "type": "boolean"
          },
          "userTypeKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "providerKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "externalSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "dataRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantRoleResponse"
            }
          },
          "locations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantLocationResponse"
            }
          }
        }
      },
      "DeveloperOrganizationAdminUserType": {
        "type": "object",
        "properties": {
          "userTypeKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "userTypeName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperOrganizationListItem": {
        "type": "object",
        "properties": {
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "accountType": {
            "type": [
              "null",
              "string"
            ]
          },
          "primaryEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "ownerDisplayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "ownerStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "userCount": {
            "type": "integer",
            "format": "int64"
          },
          "activeUserCount": {
            "type": "integer",
            "format": "int64"
          },
          "dataRoleCount": {
            "type": "integer",
            "format": "int64"
          },
          "locationCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeveloperOrganizationListResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterAppAccountId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "organizations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperOrganizationListItem"
            }
          }
        }
      },
      "DeveloperOrganizationMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperOutsideFormEndpointUpdateRequest": {
        "required": [
          "endpointKey",
          "displayName",
          "submissionMode",
          "expectedRevision"
        ],
        "type": "object",
        "properties": {
          "endpointKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "submissionMode": {
            "minLength": 1,
            "enum": [
              "ServerSecret",
              "PublicBrowser"
            ],
            "type": "string"
          },
          "allowedOrigin": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "targetDataRoleId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          },
          "expectedRevision": {
            "maximum": 9223372036854776000,
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "rotateSecret": {
            "type": "boolean"
          }
        }
      },
      "DeveloperOwnershipTransferResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "previousOwnerUserId": {
            "type": "string",
            "format": "uuid"
          },
          "ownerUserId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "enum": [
              "Accepted"
            ],
            "type": "string"
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperPaymentConnectorWriteRequest": {
        "required": [
          "connectorKey",
          "typeKey",
          "credentialReference",
          "webhookSecretReference"
        ],
        "type": "object",
        "properties": {
          "connectorKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "typeKey": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "credentialReference": {
            "$ref": "#/components/schemas/SecretReference"
          },
          "webhookSecretReference": {
            "$ref": "#/components/schemas/SecretReference"
          },
          "isTestMode": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "expectedModifiedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperPresentationPartResponse": {
        "required": [
          "presentationVersion",
          "kind"
        ],
        "type": "object",
        "properties": {
          "presentationVersion": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "DeveloperRecordCreateLocationOption": {
        "required": [
          "locationId",
          "locationName"
        ],
        "type": "object",
        "properties": {
          "locationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "locationName": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "DeveloperRecordCreateRoleOption": {
        "required": [
          "dataRoleId",
          "roleName"
        ],
        "type": "object",
        "properties": {
          "dataRoleId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "roleName": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "DeveloperRecordCreateScopeChoicesResponse": {
        "required": [
          "contractVersion",
          "items",
          "canChooseAllLocations",
          "locationRequired",
          "locations"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperRecordCreateRoleOption"
            }
          },
          "canChooseAllLocations": {
            "type": "boolean"
          },
          "locationRequired": {
            "type": "boolean"
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperRecordCreateLocationOption"
            }
          }
        }
      },
      "DeveloperRecordSearchRequest": {
        "type": "object",
        "properties": {
          "query": {
            "maxLength": 400,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "page": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "sort": {
            "maxLength": 30,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperRuntimeFieldList": {
        "required": [
          "contractVersion",
          "moduleKey",
          "fields"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "moduleKey": {
            "minLength": 1,
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefinition"
            }
          }
        }
      },
      "DeveloperRuntimePageBody": {
        "required": [
          "contractVersion",
          "runtimeRequestId",
          "generatedUtc",
          "components",
          "page"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "runtimeRequestId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "generatedUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenantRuntimeComponentContract"
            }
          },
          "page": {
            "$ref": "#/components/schemas/TenantRuntimePage"
          }
        }
      },
      "DeveloperSkillListResponse": {
        "required": [
          "skills"
        ],
        "type": "object",
        "properties": {
          "skills": {
            "maxItems": 512,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperSkillSummaryResponse"
            }
          }
        }
      },
      "DeveloperSkillResourceResponse": {
        "required": [
          "contentBase64",
          "uri",
          "mimeType",
          "digest"
        ],
        "type": "object",
        "properties": {
          "contentBase64": {
            "minLength": 1,
            "type": "string"
          },
          "uri": {
            "minLength": 1,
            "type": "string"
          },
          "mimeType": {
            "minLength": 1,
            "type": "string"
          },
          "digest": {
            "minLength": 1,
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeveloperSkillResourceSummaryResponse": {
        "required": [
          "uri",
          "mimeType",
          "digest"
        ],
        "type": "object",
        "properties": {
          "uri": {
            "minLength": 1,
            "type": "string"
          },
          "mimeType": {
            "minLength": 1,
            "type": "string"
          },
          "digest": {
            "minLength": 1,
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeveloperSkillResponse": {
        "required": [
          "skillVersionId",
          "skillKey",
          "semanticVersion",
          "uri",
          "frontmatter",
          "resolvedScopeType",
          "resources"
        ],
        "type": "object",
        "properties": {
          "skillVersionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "skillKey": {
            "minLength": 1,
            "type": "string"
          },
          "semanticVersion": {
            "minLength": 1,
            "type": "string"
          },
          "uri": {
            "minLength": 1,
            "type": "string"
          },
          "frontmatter": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "resolvedScopeType": {
            "minLength": 1,
            "type": "string"
          },
          "resolvedScopeRank": {
            "type": "integer",
            "format": "int32"
          },
          "declaredDependencies": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "resources": {
            "maxItems": 512,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperSkillResourceResponse"
            }
          }
        }
      },
      "DeveloperSkillSummaryResponse": {
        "required": [
          "skillVersionId",
          "skillKey",
          "semanticVersion",
          "uri",
          "frontmatter",
          "resolvedScopeType",
          "resources"
        ],
        "type": "object",
        "properties": {
          "skillVersionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "skillKey": {
            "minLength": 1,
            "type": "string"
          },
          "semanticVersion": {
            "minLength": 1,
            "type": "string"
          },
          "uri": {
            "minLength": 1,
            "type": "string"
          },
          "frontmatter": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "resolvedScopeType": {
            "minLength": 1,
            "type": "string"
          },
          "resolvedScopeRank": {
            "type": "integer",
            "format": "int32"
          },
          "declaredDependencies": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "resources": {
            "maxItems": 512,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperSkillResourceSummaryResponse"
            }
          }
        }
      },
      "DeveloperTenantAccountResponse": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "ownerUserId": {
            "type": "string",
            "format": "uuid"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "primaryEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "status": {
            "enum": [
              "Active",
              "Inactive"
            ],
            "type": "string"
          },
          "providerKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "externalAccountId": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": "boolean"
          },
          "createdUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "dataRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantProvisionMapResponse"
            }
          },
          "locations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantProvisionMapResponse"
            }
          },
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "DeveloperTenantBootstrapLocationRequest": {
        "required": [
          "key",
          "name"
        ],
        "type": "object",
        "properties": {
          "key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "code": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "address1": {
            "maxLength": 300,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "stateProvince": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "maxLength": 30,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "timeZone": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "sortOrder": {
            "maximum": 100000,
            "minimum": -100000,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DeveloperTenantBootstrapRoleRequest": {
        "required": [
          "key",
          "name",
          "canCreate",
          "canEdit",
          "canDelete",
          "canExport",
          "canAiReadRecords",
          "canExportRecords",
          "canBillRecords",
          "canViewTrustRecords",
          "canApproveDisbursementRecords"
        ],
        "type": "object",
        "properties": {
          "key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "canCreate": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          },
          "canExport": {
            "type": "boolean"
          },
          "canAiReadRecords": {
            "type": "boolean"
          },
          "canExportRecords": {
            "type": "boolean"
          },
          "canBillRecords": {
            "type": "boolean"
          },
          "canViewTrustRecords": {
            "type": "boolean"
          },
          "canApproveDisbursementRecords": {
            "type": "boolean"
          },
          "permissionKeys": {
            "maxItems": 200,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DeveloperTenantLocationResponse": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          }
        }
      },
      "DeveloperTenantProvisionMapResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "DeveloperTenantRoleResponse": {
        "type": "object",
        "properties": {
          "dataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "roleName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperTenantSecurityCatalogResponse": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "userTypes": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "dataRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantRoleResponse"
            }
          },
          "locations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantLocationResponse"
            }
          }
        }
      },
      "DeveloperTenantUserCompleteListResponse": {
        "required": [
          "schemaVersion",
          "appAccountId",
          "totalCount",
          "users"
        ],
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "appAccountId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "totalCount": {
            "type": "integer",
            "description": "Exact number of users in this complete response. This operation has no client paging and no enforced organization-size ceiling; response size grows with user and assignment counts.",
            "format": "int32"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantUserListItemResponse"
            }
          }
        }
      },
      "DeveloperTenantUserListItemResponse": {
        "required": [
          "appAccountId",
          "userId",
          "email",
          "displayName",
          "status",
          "isAccountOwner",
          "revisionUtc",
          "dataRoles",
          "locations",
          "dataRoleCount",
          "locationCount",
          "locationScopeMode"
        ],
        "type": "object",
        "properties": {
          "appAccountId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "isAccountOwner": {
            "type": "boolean"
          },
          "userTypeKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "providerKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "externalSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "revisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "dataRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantRoleResponse"
            }
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperTenantLocationResponse"
            }
          },
          "dataRoleCount": {
            "type": "integer",
            "format": "int32"
          },
          "locationCount": {
            "type": "integer",
            "description": "Number of selected locations; 0 means the user can access all locations allowed by their DataRoles.",
            "format": "int32"
          },
          "locationScopeMode": {
            "minLength": 1,
            "enum": [
              "all",
              "selected"
            ],
            "type": "string"
          }
        }
      },
      "DeveloperTenantUserMutationResponse": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int32"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "providerKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "externalSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": "boolean"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          },
          "delegatedTokenRevocationPending": {
            "type": "boolean"
          }
        }
      },
      "DeveloperThemeResponse": {
        "required": [
          "contractVersion",
          "saasAppId",
          "themeJson",
          "cssVariables",
          "designTokensJson",
          "version"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "saasAppId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "themeJson": {
            "required": [
              "schemaVersion",
              "name",
              "mode"
            ],
            "type": "object",
            "properties": {
              "schemaVersion": {
                "enum": [
                  1
                ],
                "type": "integer"
              },
              "name": {
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              },
              "mode": {
                "enum": [
                  "light",
                  "dark",
                  "system"
                ],
                "type": "string"
              }
            }
          },
          "cssVariables": {
            "type": "object",
            "description": "Validated --runtime-* custom properties."
          },
          "designTokensJson": {
            "type": "object",
            "properties": {
              "spacingBase": {
                "maximum": 24,
                "minimum": 2,
                "type": "number"
              },
              "radiusBase": {
                "maximum": 32,
                "minimum": 0,
                "type": "number"
              }
            }
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "templateThemeId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "modifiedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperThemeWriteRequest": {
        "required": [
          "themeJson",
          "expectedVersion"
        ],
        "type": "object",
        "properties": {
          "themeJson": {
            "required": [
              "schemaVersion",
              "name",
              "mode"
            ],
            "type": "object",
            "properties": {
              "schemaVersion": {
                "enum": [
                  1
                ],
                "type": "integer"
              },
              "name": {
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              },
              "mode": {
                "enum": [
                  "light",
                  "dark",
                  "system"
                ],
                "type": "string"
              }
            }
          },
          "cssVariables": {
            "type": "object",
            "description": "Up to 128 --runtime-* custom properties using passive color, number, unit, or keyword values."
          },
          "designTokensJson": {
            "type": "object",
            "properties": {
              "spacingBase": {
                "maximum": 24,
                "minimum": 2,
                "type": "number"
              },
              "radiusBase": {
                "maximum": 32,
                "minimum": 0,
                "type": "number"
              }
            }
          },
          "templateThemeId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedVersion": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DeveloperTokenRevocationResponse": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "format": "uuid"
          },
          "revoked": {
            "type": "boolean"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperUpdateRecordRequest": {
        "required": [
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "title": {
            "maxLength": 300,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "maxLength": 50,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "clearLocation": {
            "type": "boolean"
          },
          "fields": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          }
        }
      },
      "DeveloperWebhookDeliveryPageResponse": {
        "required": [
          "contractVersion",
          "items",
          "hasMore",
          "nextBeforeCreatedUtc",
          "nextBeforeDeliveryId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperWebhookDeliveryResponse"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextBeforeCreatedUtc": {
            "maxLength": 28,
            "minLength": 28,
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{7}Z$",
            "type": [
              "null",
              "string"
            ],
            "description": "Pass both returned cursors unchanged when hasMore is true; null marks the final page.",
            "format": "date-time"
          },
          "nextBeforeDeliveryId": {
            "minLength": 1,
            "pattern": "^[1-9]\\d{0,18}$",
            "type": [
              "null",
              "string"
            ],
            "description": "Pass both returned cursors unchanged when hasMore is true; null marks the final page."
          }
        }
      },
      "DeveloperWebhookDeliveryResponse": {
        "required": [
          "deliveryId",
          "subscriptionId",
          "eventId",
          "appAccountId",
          "eventKey",
          "eventVersion",
          "deliveryStatus",
          "attemptCount",
          "maxAttempts",
          "nextAttemptUtc",
          "createdUtc",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "deliveryId": {
            "minLength": 1,
            "pattern": "^[1-9]\\d{0,18}$",
            "type": "string"
          },
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "eventId": {
            "minLength": 1,
            "pattern": "^[1-9]\\d{0,18}$",
            "type": "string"
          },
          "appAccountId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "eventKey": {
            "minLength": 1,
            "type": "string"
          },
          "eventVersion": {
            "minLength": 1,
            "type": "string"
          },
          "deliveryStatus": {
            "minLength": 1,
            "type": "string"
          },
          "attemptCount": {
            "type": "integer",
            "format": "int32"
          },
          "maxAttempts": {
            "type": "integer",
            "format": "int32"
          },
          "nextAttemptUtc": {
            "minLength": 1,
            "type": "string"
          },
          "lastHttpResponseCode": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "lastFailureCategory": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastSafeMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "deliveredUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "deadLetteredUtc": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DeveloperWebhookDeliveryRetryResponse": {
        "required": [
          "contractVersion",
          "deliveryId",
          "deliveryStatus",
          "nextAttemptUtc",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "deliveryId": {
            "minLength": 1,
            "pattern": "^[1-9]\\d{0,18}$",
            "type": "string"
          },
          "deliveryStatus": {
            "minLength": 1,
            "type": "string"
          },
          "nextAttemptUtc": {
            "minLength": 1,
            "type": "string"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DeveloperWebhookEventFilterRequest": {
        "required": [
          "eventKey",
          "eventVersion"
        ],
        "type": "object",
        "properties": {
          "eventKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "eventVersion": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "DeveloperWebhookEventTypeResponse": {
        "required": [
          "eventKey",
          "eventVersion",
          "subjectType",
          "jsonSchema",
          "sensitivity"
        ],
        "type": "object",
        "properties": {
          "eventKey": {
            "minLength": 1,
            "type": "string"
          },
          "eventVersion": {
            "minLength": 1,
            "type": "string"
          },
          "subjectType": {
            "minLength": 1,
            "type": "string"
          },
          "jsonSchema": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "sensitivity": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "DeveloperWebhookEventTypesResponse": {
        "required": [
          "contractVersion",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperWebhookEventTypeResponse"
            }
          }
        }
      },
      "DeveloperWebhookSigningSecretRotationResponse": {
        "required": [
          "contractVersion",
          "subscriptionId",
          "rotatedUtc",
          "correlationId",
          "signingSecret",
          "signingSecretLast4"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "rotatedUtc": {
            "minLength": 1,
            "type": "string"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "signingSecret": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[0-9A-Fa-f]{64}$",
            "type": "string"
          },
          "signingSecretLast4": {
            "maxLength": 4,
            "minLength": 4,
            "pattern": "^[0-9A-Fa-f]{4}$",
            "type": "string"
          }
        }
      },
      "DeveloperWebhookSubscriptionCreateResponse": {
        "required": [
          "contractVersion",
          "subscriptionId",
          "displayName",
          "destinationUrl",
          "scope",
          "isActive",
          "createdUtc",
          "correlationId",
          "signingSecret",
          "signingSecretLast4"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "destinationUrl": {
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "signingSecret": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[0-9A-Fa-f]{64}$",
            "type": "string"
          },
          "signingSecretLast4": {
            "maxLength": 4,
            "minLength": 4,
            "pattern": "^[0-9A-Fa-f]{4}$",
            "type": "string"
          }
        }
      },
      "DeveloperWebhookSubscriptionRequest": {
        "required": [
          "displayName",
          "destinationUrl",
          "events"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "destinationUrl": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "events": {
            "maxItems": 50,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperWebhookEventFilterRequest"
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "scope": {
            "maxLength": 20,
            "minLength": 3,
            "enum": [
              "account",
              "app"
            ],
            "type": "string"
          }
        }
      },
      "DeveloperWebhookSubscriptionResponse": {
        "required": [
          "subscriptionId",
          "displayName",
          "destinationUrl",
          "httpMethod",
          "scope",
          "isActive",
          "createdUtc",
          "updatedUtc",
          "events"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "destinationUrl": {
            "minLength": 1,
            "type": "string"
          },
          "httpMethod": {
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperWebhookEventFilterRequest"
            }
          }
        }
      },
      "DeveloperWebhookSubscriptionsResponse": {
        "required": [
          "contractVersion",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeveloperWebhookSubscriptionResponse"
            }
          }
        }
      },
      "DeveloperWebhookSubscriptionUpdateResponse": {
        "required": [
          "contractVersion",
          "subscriptionId",
          "displayName",
          "destinationUrl",
          "scope",
          "isActive",
          "updatedUtc",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "maximum": 1,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "destinationUrl": {
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "DirectConversationRecipientOption": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DirectConversationRequest": {
        "type": "object",
        "properties": {
          "recipientUserId": {
            "type": "string",
            "format": "uuid"
          },
          "clientMessageId": {
            "type": [
              "null",
              "string"
            ]
          },
          "bodyText": {
            "type": [
              "null",
              "string"
            ]
          },
          "bodyHtml": {
            "type": [
              "null",
              "string"
            ]
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "DirectConversationScopeResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recipientUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "existingRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "currentScope": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordCurrentScopeResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "recipients": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DirectConversationRecipientOption"
            }
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/RecordCreateRoleOption"
            }
          },
          "locations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/RecordCreateLocationOption"
            }
          },
          "locationRequired": {
            "type": "boolean"
          },
          "canChooseAllLocations": {
            "type": "boolean"
          }
        }
      },
      "DiscussionBoardExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DiscussionBoardUpdateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "boardName"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "boardName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "isArchived": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DiscussionDynamicFieldInput"
            }
          }
        },
        "additionalProperties": false,
        "description": "Ordinary edits retain record visibility. Create-only isPersonal, dataRoleId and locationScope fields are rejected, including explicit null."
      },
      "DiscussionBoardWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "boardName": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "isArchived": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DiscussionDynamicFieldInput"
            }
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "DiscussionDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DiscussionFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "DiscussionMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "boardRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "topicRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "discussionBoardId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "discussionTopicId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "discussionPostId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "postRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "DiscussionPostUpdateRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "postBody": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "DiscussionPostWriteRequest": {
        "type": "object",
        "properties": {
          "postBody": {
            "type": [
              "null",
              "string"
            ]
          },
          "parentDiscussionPostId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "DiscussionTopicCreateRequest": {
        "type": "object",
        "properties": {
          "topicTitle": {
            "type": [
              "null",
              "string"
            ]
          },
          "initialPostBody": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "DiscussionTopicUpdateRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "topicTitle": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPinned": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isLocked": {
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "DynamicModuleCreateRequest": {
        "required": [
          "title",
          "isPersonal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "minLength": 1,
            "type": "string"
          },
          "isPersonal": {
            "type": "boolean"
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "fields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DynamicModuleFieldInput"
            }
          }
        }
      },
      "DynamicModuleFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "DynamicModuleFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        }
      },
      "DynamicModuleMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "DynamicModuleWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "clearLocation": {
            "type": "boolean"
          },
          "fields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DynamicModuleFieldInput"
            }
          }
        }
      },
      "DynamicRecordExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ExchangeDeveloperUserTokenRequest": {
        "required": [
          "providerKey",
          "externalAccountId",
          "externalSubject"
        ],
        "type": "object",
        "properties": {
          "providerKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "externalAccountId": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "externalSubject": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "scopes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "lifetimeMinutes": {
            "maximum": 15,
            "minimum": 2,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "FavoriteExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "FavoriteLegoPresentation": {
        "type": "object",
        "properties": {
          "presentationVersion": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "columns": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FavoriteLegoPresentationColumn"
            }
          },
          "rows": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FavoriteLegoPresentationRow"
            }
          },
          "actions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoPresentationAction"
            }
          },
          "page": {
            "$ref": "#/components/schemas/FavoriteLegoPresentationPage"
          }
        }
      },
      "FavoriteLegoPresentationColumn": {
        "type": "object",
        "properties": {
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "align": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "FavoriteLegoPresentationPage": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "totalRecords": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "totalIsExact": {
            "type": "boolean"
          }
        }
      },
      "FavoriteLegoPresentationRow": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "cells": {
            "type": [
              "null",
              "object"
            ]
          },
          "actionIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "revision": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "FavoritePreferenceRequest": {
        "type": "object",
        "properties": {
          "isPinned": {
            "type": "boolean"
          },
          "trackChanges": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "FavoriteSetRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "FileAttachmentRequest": {
        "type": "object",
        "properties": {
          "sourceRecordId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceModuleKey": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "FileCommentReceipt": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "commentId": {
            "type": "string",
            "format": "uuid"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "FileCommentRequest": {
        "type": "object",
        "properties": {
          "commentText": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "FileDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "FileExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "FileFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Unknown fields are rejected with HTTP 400. Send only documented fields. Some record types support administrator-configured custom fields through their documented dynamicFields input on create/edit. Extra fields on messages, favorites, or upload forms do not create custom fields."
      },
      "FileMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "fileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "attachmentId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isFavorite": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "FileRemovalResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted": {
            "type": "boolean"
          },
          "retentionUntilUtc": {
            "type": "string",
            "format": "date-time"
          },
          "cleanupJobsQueued": {
            "type": "integer",
            "format": "int32"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "FileWriteRequest": {
        "required": [
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})$",
            "type": "string",
            "description": "Required File metadata revision with an explicit Z or numeric offset and up to seven fractional digits. Preserve the returned revision without JavaScript Date conversion or rounding; the server converts explicit offsets to UTC without losing ticks."
          },
          "fileName": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FileDynamicFieldInput"
            }
          }
        },
        "additionalProperties": false
      },
      "GatewayMetadataResponse": {
        "required": [
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "apiVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GlobalSearchFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "GlobalSearchItem": {
        "required": [
          "matchedFields"
        ],
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "recordStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "canEdit": {
            "type": "boolean"
          },
          "isFavorite": {
            "type": "boolean"
          },
          "matchKind": {
            "type": [
              "null",
              "string"
            ]
          },
          "matchRank": {
            "type": "integer",
            "format": "int32"
          },
          "relationCount": {
            "type": "integer",
            "format": "int32"
          },
          "activityCount": {
            "type": "integer",
            "format": "int32"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "matchedFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GlobalSearchMatchedField"
            }
          }
        }
      },
      "GlobalSearchMatchedField": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "fieldLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataType": {
            "type": [
              "null",
              "string"
            ]
          },
          "matchedValue": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GlobalSearchModuleSummary": {
        "type": "object",
        "properties": {
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GlobalSearchResponse": {
        "required": [
          "contractVersion",
          "browseLimit",
          "pageNumber",
          "pageSize",
          "totalRecords",
          "totalPages",
          "totalIsExact",
          "hasMore",
          "modules",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "browseLimit": {
            "type": "integer",
            "format": "int32"
          },
          "query": {
            "type": [
              "null",
              "string"
            ]
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "totalIsExact": {
            "type": "boolean"
          },
          "hasMore": {
            "type": "boolean"
          },
          "modules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GlobalSearchModuleSummary"
            }
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GlobalSearchItem"
            }
          }
        }
      },
      "IFormFile": {
        "type": "string",
        "format": "binary"
      },
      "InboundEndpointDeactivateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "reason"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "reason": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "InboundEndpointMutationReceipt": {
        "required": [
          "contractVersion",
          "endpointId",
          "isActive",
          "updatedUtc",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "enum": [
              1
            ],
            "type": "integer"
          },
          "endpointId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?Z$",
            "type": "string",
            "description": "Opaque UTC revision; preserve every fractional digit for the next endpoint change."
          },
          "correlationId": {
            "minLength": 1,
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "InboundEndpointUpdateRequest": {
        "required": [
          "expectedUpdatedUtc",
          "displayName",
          "conversationMode"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "conversationMode": {
            "minLength": 1,
            "enum": [
              "ReuseOpen",
              "AlwaysNew"
            ],
            "type": "string"
          }
        }
      },
      "InboxBadgeIndicator": {
        "required": [
          "attentionDisplayCount",
          "attentionIsCapped",
          "asOfUtc"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "attentionDisplayCount": {
            "maximum": 99,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "attentionIsCapped": {
            "type": "boolean"
          },
          "asOfUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "InboxBadgeSourceCount": {
        "required": [
          "sourceType",
          "itemCount"
        ],
        "type": "object",
        "properties": {
          "sourceType": {
            "minLength": 1,
            "type": "string"
          },
          "itemCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "InboxBadgeSummary": {
        "required": [
          "unreadTotal",
          "readyForApproval",
          "needsHuman",
          "goClawWorking",
          "assignedToMeOpen",
          "failedSends",
          "sources",
          "asOfUtc"
        ],
        "type": "object",
        "properties": {
          "unreadTotal": {
            "type": "integer",
            "format": "int32"
          },
          "readyForApproval": {
            "type": "integer",
            "format": "int32"
          },
          "needsHuman": {
            "type": "integer",
            "format": "int32"
          },
          "goClawWorking": {
            "type": "integer",
            "format": "int32"
          },
          "assignedToMeOpen": {
            "type": "integer",
            "format": "int32"
          },
          "failedSends": {
            "type": "integer",
            "format": "int32"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboxBadgeSourceCount"
            }
          },
          "asOfUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "InboxChannelTicketingSetting": {
        "required": [
          "contractVersion",
          "channelConnectionId",
          "channelKey",
          "address",
          "status",
          "isInboundEnabled",
          "isTicketingEnabled",
          "nextTicketNumber"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "channelConnectionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "channelKey": {
            "minLength": 1,
            "pattern": "^(email|sms)$",
            "type": "string"
          },
          "displayLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "minLength": 1,
            "type": "string"
          },
          "inboundAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "isInboundEnabled": {
            "type": "boolean"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "isTicketingEnabled": {
            "type": "boolean"
          },
          "ticketPrefix": {
            "type": [
              "null",
              "string"
            ]
          },
          "nextTicketNumber": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "InboxChannelTicketingSettings": {
        "required": [
          "contractVersion",
          "canManage",
          "channels"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canManage": {
            "type": "boolean"
          },
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboxChannelTicketingSetting"
            }
          }
        }
      },
      "InboxEmailTicketingSetting": {
        "required": [
          "channelConnectionId",
          "displayLabel",
          "emailAddress",
          "inboundAddress",
          "isInboundEnabled",
          "status",
          "isTicketingEnabled",
          "ticketPrefix",
          "nextTicketNumber"
        ],
        "type": "object",
        "properties": {
          "channelConnectionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "displayLabel": {
            "minLength": 1,
            "type": "string"
          },
          "emailAddress": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "inboundAddress": {
            "minLength": 1,
            "type": "string"
          },
          "isInboundEnabled": {
            "type": "boolean"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "isTicketingEnabled": {
            "type": "boolean"
          },
          "ticketPrefix": {
            "minLength": 1,
            "type": "string"
          },
          "nextTicketNumber": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "InboxEmailTicketingSettings": {
        "required": [
          "canManage",
          "mailboxes"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canManage": {
            "type": "boolean"
          },
          "mailboxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboxEmailTicketingSetting"
            }
          }
        }
      },
      "InboxItemDetail": {
        "required": [
          "inboxItemId",
          "appAccountId",
          "recordId",
          "source",
          "document"
        ],
        "type": "object",
        "properties": {
          "inboxItemId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "source": {
            "$ref": "#/components/schemas/InboxSourceReference"
          },
          "document": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "InboxNotification": {
        "required": [
          "inboxItemId",
          "source",
          "subject",
          "bodyText",
          "notificationType",
          "priority",
          "createdUtc",
          "isRead",
          "sourceTableName"
        ],
        "type": "object",
        "properties": {
          "inboxItemId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "source": {
            "$ref": "#/components/schemas/InboxSourceReference"
          },
          "subject": {
            "minLength": 1,
            "type": "string"
          },
          "bodyText": {
            "minLength": 1,
            "type": "string"
          },
          "notificationType": {
            "minLength": 1,
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "isRead": {
            "type": "boolean"
          },
          "sourceTableName": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "InboxQueueItem": {
        "required": [
          "inboxItemId",
          "source",
          "inboxQueueId",
          "queueName",
          "assignedToUserId",
          "assignedDataRoleId",
          "status",
          "goClawStatus",
          "priority",
          "subject",
          "previewText",
          "activityVersion",
          "newActivityCount",
          "firstReceivedUtc",
          "lastActivityUtc",
          "dueUtc",
          "snoozedUntilUtc",
          "aiIntent",
          "aiCategory",
          "aiRiskLevel",
          "aiConfidence",
          "aiSummary",
          "isUnread",
          "lastReadActivityVersion",
          "ticket"
        ],
        "type": "object",
        "properties": {
          "inboxItemId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "source": {
            "$ref": "#/components/schemas/InboxSourceReference"
          },
          "inboxQueueId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "queueName": {
            "minLength": 1,
            "type": "string"
          },
          "assignedToUserId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "assignedDataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "goClawStatus": {
            "minLength": 1,
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "subject": {
            "minLength": 1,
            "type": "string"
          },
          "previewText": {
            "minLength": 1,
            "type": "string"
          },
          "activityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "newActivityCount": {
            "type": "integer",
            "format": "int32"
          },
          "firstReceivedUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "lastActivityUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "dueUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "snoozedUntilUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "aiIntent": {
            "minLength": 1,
            "type": "string"
          },
          "aiCategory": {
            "minLength": 1,
            "type": "string"
          },
          "aiRiskLevel": {
            "minLength": 1,
            "type": "string"
          },
          "aiConfidence": {
            "type": "number",
            "format": "double"
          },
          "aiSummary": {
            "minLength": 1,
            "type": "string"
          },
          "isUnread": {
            "type": "boolean"
          },
          "lastReadActivityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "ticket": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InboxTicketReference"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "InboxQueuePage": {
        "required": [
          "items",
          "pageSize",
          "hasMore",
          "totalRecords",
          "totalIsExact",
          "nextPriority",
          "nextLastActivityUtc",
          "nextInboxItemId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboxQueueItem"
            }
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "totalIsExact": {
            "type": "boolean"
          },
          "nextPriority": {
            "type": "integer",
            "format": "int32"
          },
          "nextLastActivityUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "nextInboxItemId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "InboxSourceReference": {
        "required": [
          "sourceType",
          "sourceKey",
          "sourceRecordId",
          "sourcePrimaryId",
          "externalSourceKey",
          "conversationId",
          "contactRecordId"
        ],
        "type": "object",
        "properties": {
          "sourceType": {
            "minLength": 1,
            "type": "string"
          },
          "sourceKey": {
            "minLength": 1,
            "type": "string"
          },
          "sourceRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "sourcePrimaryId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "externalSourceKey": {
            "minLength": 1,
            "type": "string"
          },
          "conversationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "contactRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "InboxTicketReference": {
        "required": [
          "channelConnectionId",
          "prefix",
          "number",
          "openedUtc"
        ],
        "type": "object",
        "properties": {
          "channelConnectionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "prefix": {
            "minLength": 1,
            "type": "string"
          },
          "number": {
            "minLength": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "openedUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "key": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "JsonElement": { },
      "KnowledgeArticleDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        }
      },
      "KnowledgeArticleExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "KnowledgeArticleFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "KnowledgeArticleWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "articleBody": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isPublished": {
            "type": "boolean"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/KnowledgeArticleDynamicFieldInput"
            }
          }
        }
      },
      "KnowledgeCoreCollectionRequest": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "parentCollectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "defaultReviewPolicyId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isSupportCollection": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "KnowledgeCoreCountResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "totalIsExact": {
            "type": "boolean"
          },
          "browseLimit": {
            "type": "integer",
            "format": "int32"
          },
          "countLimit": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "KnowledgeCoreOwnerRequest": {
        "type": "object",
        "properties": {
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "responsibilityType": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          }
        }
      },
      "KnowledgeCoreRestoreRequest": {
        "type": "object",
        "properties": {
          "knowledgeRevisionId": {
            "type": "string",
            "format": "uuid"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "changeNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "KnowledgeCoreTransitionRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "changeNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "KnowledgeCoreWriteRequest": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "slug": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "type": [
              "null",
              "string"
            ]
          },
          "articleBody": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": [
              "null",
              "string"
            ]
          },
          "knowledgeType": {
            "type": [
              "null",
              "string"
            ]
          },
          "authorityLevel": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reviewPolicyId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isAiEligible": {
            "type": "boolean"
          },
          "isSupportEligible": {
            "type": "boolean"
          },
          "changeNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "KnowledgeFeedbackRequest": {
        "type": "object",
        "properties": {
          "contextRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "feedbackType": {
            "type": [
              "null",
              "string"
            ]
          },
          "comment": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "KnowledgeItemExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "KnowledgeQuestionAnswerRequest": {
        "required": [
          "expectedUpdatedUtc",
          "answerText"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "answerText": {
            "maxLength": 20000,
            "minLength": 1,
            "type": "string"
          },
          "answerKnowledgeRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "KnowledgeQuestionAssignRequest": {
        "required": [
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "assignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignedDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "KnowledgeQuestionCloseRequest": {
        "required": [
          "expectedUpdatedUtc",
          "reason"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "reason": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "KnowledgeQuestionConvertRequest": {
        "required": [
          "expectedUpdatedUtc",
          "slug",
          "title",
          "isPersonal",
          "dataRoleId"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "isPersonal": {
            "enum": [
              false
            ],
            "type": "boolean",
            "description": "Choose shared Knowledge scope explicitly. Current Knowledge policy requires false."
          },
          "dataRoleId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "One user-selected DataRole the verified actor may create in; checked again by SQL.",
            "format": "int32"
          },
          "locationScope": {
            "enum": [
              "All",
              "Specific",
              null
            ],
            "type": [
              "null",
              "string"
            ],
            "description": "Specific requires locationId. All requires all-location access and no locationId. Omit both only when the server confirms no active locations."
          },
          "slug": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "summary": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": [
              "null",
              "string"
            ]
          },
          "knowledgeType": {
            "type": [
              "null",
              "string"
            ]
          },
          "authorityLevel": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reviewPolicyId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "KnowledgeQuestionCreateRequest": {
        "required": [
          "questionText"
        ],
        "type": "object",
        "properties": {
          "questionText": {
            "maxLength": 4000,
            "minLength": 1,
            "type": "string"
          },
          "contextRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "suggestedOwnerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "suggestedDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "KnowledgeQuestionEditRequest": {
        "required": [
          "expectedUpdatedUtc",
          "questionText"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "questionText": {
            "maxLength": 4000,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "KnowledgeQuestionMutationResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "knowledgeQuestionId": {
            "type": "string",
            "format": "uuid"
          },
          "occurrenceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "duplicateGroupKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "answerKnowledgeRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "knowledgeRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "knowledgeArticleId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "answeredUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "replayed": {
            "type": "boolean"
          }
        }
      },
      "KnowledgeRelationRequest": {
        "type": "object",
        "properties": {
          "knowledgeRecordId": {
            "type": "string",
            "format": "uuid"
          },
          "relationKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "KnowledgeReviewReassignRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "assignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignedDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "KnowledgeReviewTransitionRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "outcome": {
            "type": [
              "null",
              "string"
            ]
          },
          "reviewNote": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MailReaderFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "MailReaderReadRequest": {
        "required": [
          "isRead"
        ],
        "type": "object",
        "properties": {
          "isRead": {
            "type": "boolean"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "NotificationFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "NotificationStateRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "markRead": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dismiss": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "OutsideFormBrowserChallengeConfiguration": {
        "type": "object",
        "properties": {
          "provider": {
            "type": [
              "null",
              "string"
            ]
          },
          "action": {
            "type": [
              "null",
              "string"
            ]
          },
          "configured": {
            "type": "boolean"
          },
          "siteKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "OutsideFormEndpoint": {
        "type": "object",
        "properties": {
          "serverSecret": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[0-9A-Fa-f]{64}$",
            "type": [
              "null",
              "string"
            ],
            "description": "One-time 64-character server secret. Returned only on ServerSecret creation, explicit rotation, or a browser-to-server mode change. Never returned by list or ordinary update; store it only on a trusted server."
          },
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "endpointId": {
            "type": "string",
            "format": "uuid"
          },
          "endpointKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "submissionMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "allowedOrigin": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "targetDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "OutsideFormEndpointCreateRequest": {
        "required": [
          "endpointKey",
          "displayName",
          "submissionMode"
        ],
        "type": "object",
        "properties": {
          "endpointKey": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "submissionMode": {
            "minLength": 1,
            "enum": [
              "ServerSecret",
              "PublicBrowser"
            ],
            "type": "string"
          },
          "allowedOrigin": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "targetDataRoleId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "OutsideFormEndpointPage": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "hasMore": {
            "type": "boolean"
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OutsideFormEndpointSummary"
            }
          }
        }
      },
      "OutsideFormEndpointSummary": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "endpointId": {
            "type": "string",
            "format": "uuid"
          },
          "endpointKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "submissionMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "allowedOrigin": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "targetDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "OutsideFormSubmission": {
        "type": "object",
        "properties": {
          "submissionId": {
            "type": "string",
            "format": "uuid"
          },
          "endpointId": {
            "type": "string",
            "format": "uuid"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "inboxItemId": {
            "type": "string",
            "format": "uuid"
          },
          "formData": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "QueueSla": {
        "required": [
          "inboxQueueId",
          "queueName",
          "isSupportLane",
          "isDefault",
          "slaPolicyId",
          "slaPolicyIsActive",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "inboxQueueId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "queueName": {
            "minLength": 1,
            "type": "string"
          },
          "isSupportLane": {
            "type": "boolean"
          },
          "isDefault": {
            "type": "boolean"
          },
          "slaPolicyId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "slaPolicyIsActive": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "QueueSlaPage": {
        "required": [
          "contractVersion",
          "items",
          "hasMore",
          "nextAfterId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueueSla"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "QueueSlaReceipt": {
        "required": [
          "contractVersion",
          "queue"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "queue": {
            "$ref": "#/components/schemas/QueueSla"
          }
        }
      },
      "QueueSlaSaveRequest": {
        "required": [
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "maxLength": 28,
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "slaPolicyId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "RecordActivityFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "RecordCreateLocationOption": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RecordCreateRoleOption": {
        "type": "object",
        "properties": {
          "dataRoleId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "roleName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RecordCurrentScopeResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "revisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": "boolean"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "roles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/RecordCreateRoleOption"
            }
          }
        }
      },
      "RecordDeletionHistoryItem": {
        "required": [
          "eventId",
          "recordId",
          "deletionEventId",
          "changeType",
          "occurredUtc",
          "canRestore"
        ],
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "format": "uuid"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "deletionEventId": {
            "type": "string",
            "format": "uuid"
          },
          "changeType": {
            "enum": [
              "SoftDelete",
              "Restore",
              "SharedSoftDelete",
              "SharedRestore",
              "PermanentDelete",
              "SharedPermanentDelete"
            ],
            "type": "string"
          },
          "occurredUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "canRestore": {
            "type": "boolean"
          },
          "auditDeliveredUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "RecordDeletionHistoryResponse": {
        "required": [
          "contractVersion",
          "items",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/RecordDeletionHistoryItem"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextBeforeUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "nextBeforeEventId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "RecordGraphAddRelationRequest": {
        "required": [
          "toRecordId",
          "relationKey"
        ],
        "type": "object",
        "properties": {
          "toRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "relationKey": {
            "maxLength": 100,
            "minLength": 1,
            "pattern": ".*\\S.*",
            "type": "string"
          }
        }
      },
      "RecordGraphFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "RecordLocationTimeZoneContext": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "timeZoneId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RecordPermanentDeleteResponse": {
        "required": [
          "contractVersion",
          "recordId",
          "deletionEventId",
          "permanentEventId",
          "deletionScope",
          "occurredUtc",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "deletionEventId": {
            "type": "string",
            "format": "uuid"
          },
          "permanentEventId": {
            "type": "string",
            "format": "uuid"
          },
          "deletionScope": {
            "enum": [
              "User",
              "Shared"
            ],
            "type": "string"
          },
          "occurredUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "RecordRestoreRequest": {
        "required": [
          "deletionEventId"
        ],
        "type": "object",
        "properties": {
          "deletionEventId": {
            "type": "string",
            "description": "Exact deletion receipt. A stale or different receipt cannot restore a later deletion.",
            "format": "uuid"
          }
        }
      },
      "RecordRestoreResponse": {
        "required": [
          "contractVersion",
          "recordId",
          "restoredForUser",
          "deletionScope",
          "restoreEventId",
          "deletionEventId",
          "restoredUtc",
          "replayed",
          "correlationId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "restoredForUser": {
            "type": "boolean"
          },
          "deletionScope": {
            "enum": [
              "User",
              "Shared"
            ],
            "type": "string"
          },
          "restoreEventId": {
            "type": "string",
            "format": "uuid"
          },
          "deletionEventId": {
            "type": "string",
            "format": "uuid"
          },
          "restoredUtc": {
            "type": [
              "null",
              "string"
            ]
          },
          "replayed": {
            "type": "boolean"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ReservationCustomFieldsRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueWrite"
            }
          }
        }
      },
      "ReservationDetail": {
        "required": [
          "followups",
          "events"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "reservationProductId": {
            "type": "string",
            "format": "uuid"
          },
          "contactRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contactPhone": {
            "type": [
              "null",
              "string"
            ]
          },
          "calendarRecordId": {
            "type": "string",
            "format": "uuid"
          },
          "calendarEventId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceBookingId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "chargeIntentId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "paymentId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "sourceChannel": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "internalNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "cancellationReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "cancelledUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "checkedInUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "completedUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          },
          "followups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationFollowup"
            }
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationEvent"
            }
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValue"
            }
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "reservationId": {
            "type": "string",
            "format": "uuid"
          },
          "reservationNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "productName": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactName": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "assignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignedUserName": {
            "type": [
              "null",
              "string"
            ]
          },
          "assigneeState": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "startUtc": {
            "type": "string",
            "format": "date-time"
          },
          "endUtc": {
            "type": "string",
            "format": "date-time"
          },
          "timeZoneId": {
            "type": [
              "null",
              "string"
            ]
          },
          "partySize": {
            "type": "integer",
            "format": "int32"
          },
          "amountCents": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "holdExpiresUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "ReservationEvent": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": [
              "null",
              "string"
            ]
          },
          "actorUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "detail": { },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ReservationExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ReservationFollowup": {
        "type": "object",
        "properties": {
          "reservationFollowupId": {
            "type": "string",
            "format": "uuid"
          },
          "followupType": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledUtc": {
            "type": "string",
            "format": "date-time"
          },
          "recipientEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "deliveryStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "outboundMessageId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "attemptCount": {
            "type": "integer",
            "format": "int32"
          },
          "sentUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "ReservationFollowupWriteRequest": {
        "required": [
          "expectedUpdatedUtc",
          "followupType",
          "scheduledUtc",
          "recipientEmail",
          "subject"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "followupType": {
            "minLength": 1,
            "type": "string"
          },
          "scheduledUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "recipientEmail": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "subject": {
            "minLength": 1,
            "type": "string"
          },
          "bodyText": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReservationListResponse": {
        "required": [
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "totalIsExact": {
            "type": "boolean"
          },
          "hasMore": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationSummary"
            }
          }
        }
      },
      "ReservationMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reservationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reservationProductId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "reservationNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "chargeIntentId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "calendarRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contactRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "followupType": {
            "type": [
              "null",
              "string"
            ]
          },
          "idempotentReplay": {
            "type": "boolean"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "ReservationProduct": {
        "type": "object",
        "properties": {
          "reservationProductId": {
            "type": "string",
            "format": "uuid"
          },
          "productKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "productName": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "durationMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "bufferBeforeMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "bufferAfterMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "priceCents": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "concurrentCapacity": {
            "type": "integer",
            "format": "int32"
          },
          "maxPartySize": {
            "type": "integer",
            "format": "int32"
          },
          "defaultLocationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "defaultLocationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "defaultResourceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "defaultResourceName": {
            "type": [
              "null",
              "string"
            ]
          },
          "defaultAssignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "defaultAssignedUserName": {
            "type": [
              "null",
              "string"
            ]
          },
          "enforceAssigneeExclusivity": {
            "type": "boolean"
          },
          "holdMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "preServiceFollowupMinutes": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "postServiceFollowupMinutes": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "preServiceSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "postServiceSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "ReservationProductListResponse": {
        "required": [
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationProduct"
            }
          }
        }
      },
      "ReservationProductWriteRequest": {
        "required": [
          "productKey",
          "productName",
          "durationMinutes"
        ],
        "type": "object",
        "properties": {
          "reservationProductId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "productKey": {
            "minLength": 1,
            "type": "string"
          },
          "productName": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "durationMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "bufferBeforeMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "bufferAfterMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "priceCents": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "concurrentCapacity": {
            "type": "integer",
            "format": "int32"
          },
          "maxPartySize": {
            "type": "integer",
            "format": "int32"
          },
          "defaultLocationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "defaultResourceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "defaultAssignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "enforceAssigneeExclusivity": {
            "type": "boolean"
          },
          "holdMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "preServiceFollowupMinutes": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "postServiceFollowupMinutes": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "preServiceSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "postServiceSubject": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "ReservationPurchaseRequest": {
        "required": [
          "reservationProductId",
          "startUtc",
          "timeZoneId",
          "idempotencyKey"
        ],
        "type": "object",
        "properties": {
          "reservationProductId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "startUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "timeZoneId": {
            "minLength": 1,
            "type": "string"
          },
          "partySize": {
            "type": "integer",
            "format": "int32"
          },
          "assignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use optionId from GET /v1/apps/{saasAppId}/modules/reservations/assignees as assignedUserId. The server revalidates eligibility and availability on write; lookupId is not a user ID.",
            "format": "uuid"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contactRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contactIsPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "contactDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "contactLocationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactLocationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "companyName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentMethodId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "idempotencyKey": {
            "minLength": 1,
            "type": "string"
          },
          "sourceChannel": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "internalNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "preServiceFollowupUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "preServiceFollowupEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "postServiceFollowupUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "postServiceFollowupEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueWrite"
            }
          },
          "createNewContact": {
            "type": "boolean"
          }
        }
      },
      "ReservationRescheduleRequest": {
        "required": [
          "expectedUpdatedUtc",
          "startUtc",
          "timeZoneId",
          "partySize",
          "assignedUserId"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "startUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "timeZoneId": {
            "minLength": 1,
            "type": "string"
          },
          "partySize": {
            "type": "integer",
            "format": "int32"
          },
          "assignedUserId": {
            "minLength": 1,
            "type": "string",
            "description": "Use optionId from GET /v1/apps/{saasAppId}/modules/reservations/assignees as assignedUserId. The server revalidates eligibility and availability on write; lookupId is not a user ID.",
            "format": "uuid"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "customerNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "internalNotes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReservationStatusRequest": {
        "required": [
          "expectedUpdatedUtc",
          "status"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "status": {
            "minLength": 1,
            "enum": [
              "Confirmed",
              "CheckedIn",
              "Completed",
              "Cancelled",
              "NoShow"
            ],
            "type": "string"
          },
          "cancellationReason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReservationSummary": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "reservationId": {
            "type": "string",
            "format": "uuid"
          },
          "reservationNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "productName": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactName": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactEmail": {
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "assignedUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignedUserName": {
            "type": [
              "null",
              "string"
            ]
          },
          "assigneeState": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "startUtc": {
            "type": "string",
            "format": "date-time"
          },
          "endUtc": {
            "type": "string",
            "format": "date-time"
          },
          "timeZoneId": {
            "type": [
              "null",
              "string"
            ]
          },
          "partySize": {
            "type": "integer",
            "format": "int32"
          },
          "amountCents": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "holdExpiresUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "RoutingRule": {
        "required": [
          "inboxRoutingRuleId",
          "ruleName",
          "sourceType",
          "sourceKey",
          "channelTypeId",
          "channelKey",
          "eventType",
          "minPriority",
          "condition",
          "inboxQueueId",
          "queueName",
          "assignToUserId",
          "assignToUserName",
          "assignToDataRoleId",
          "assignToDataRoleName",
          "setPriority",
          "action",
          "stopProcessing",
          "sortOrder",
          "isActive",
          "createdUtc",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "inboxRoutingRuleId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "ruleName": {
            "minLength": 1,
            "type": "string"
          },
          "sourceType": {
            "minLength": 1,
            "type": "string"
          },
          "sourceKey": {
            "minLength": 1,
            "type": "string"
          },
          "channelTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "channelKey": {
            "minLength": 1,
            "type": "string"
          },
          "eventType": {
            "minLength": 1,
            "type": "string"
          },
          "minPriority": {
            "type": "integer",
            "format": "int32"
          },
          "condition": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "inboxQueueId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "queueName": {
            "minLength": 1,
            "type": "string"
          },
          "assignToUserId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "assignToUserName": {
            "minLength": 1,
            "type": "string"
          },
          "assignToDataRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "assignToDataRoleName": {
            "minLength": 1,
            "type": "string"
          },
          "setPriority": {
            "type": "integer",
            "format": "int32"
          },
          "action": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "stopProcessing": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "RoutingRuleEnvelope": {
        "required": [
          "contractVersion",
          "rule"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "rule": {
            "$ref": "#/components/schemas/RoutingRule"
          }
        }
      },
      "RoutingRulePage": {
        "required": [
          "contractVersion",
          "items",
          "hasMore",
          "nextAfterSortOrder",
          "nextAfterCreatedUtc",
          "nextAfterRuleId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutingRule"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterSortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "nextAfterCreatedUtc": {
            "minLength": 1,
            "type": "string"
          },
          "nextAfterRuleId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "RoutingRuleReceipt": {
        "required": [
          "contractVersion",
          "outcome",
          "rule"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "outcome": {
            "minLength": 1,
            "type": "string"
          },
          "rule": {
            "$ref": "#/components/schemas/RoutingRule"
          }
        }
      },
      "RoutingRuleSaveRequest": {
        "required": [
          "ruleName",
          "stopProcessing",
          "sortOrder",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "maxLength": 28,
            "minLength": 0,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "ruleName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "sourceType": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "sourceKey": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "channelTypeId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "eventType": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "minPriority": {
            "maximum": 4,
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "condition": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "inboxQueueId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignToUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "assignToDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "setPriority": {
            "maximum": 4,
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "action": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "stopProcessing": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "RoutingTarget": {
        "required": [
          "id",
          "label",
          "detail"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "detail": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "RoutingTargetPage": {
        "required": [
          "contractVersion",
          "kind",
          "items",
          "hasMore",
          "nextAfterKey"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "minLength": 1,
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutingTarget"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterKey": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "SecretReference": {
        "required": [
          "provider",
          "name"
        ],
        "type": "object",
        "properties": {
          "provider": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "version": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SlaPolicy": {
        "required": [
          "slaPolicyId",
          "channelTypeId",
          "channelKey",
          "priority",
          "firstResponseMinutes",
          "resolutionMinutes",
          "businessHoursOnly",
          "isActive",
          "activeQueueCount",
          "createdUtc",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "slaPolicyId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "channelTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "channelKey": {
            "minLength": 1,
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "firstResponseMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "resolutionMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "businessHoursOnly": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "activeQueueCount": {
            "type": "integer",
            "format": "int64"
          },
          "createdUtc": {
            "minLength": 1,
            "type": "string"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "SlaPolicyPage": {
        "required": [
          "contractVersion",
          "items",
          "hasMore",
          "nextAfterId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SlaPolicy"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "SlaPolicyReceipt": {
        "required": [
          "contractVersion",
          "outcome",
          "policy"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "outcome": {
            "minLength": 1,
            "type": "string"
          },
          "policy": {
            "$ref": "#/components/schemas/SlaPolicy"
          }
        }
      },
      "SlaPolicySaveRequest": {
        "required": [
          "firstResponseMinutes",
          "businessHoursOnly",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "maxLength": 28,
            "minLength": 0,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "channelTypeId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "priority": {
            "maximum": 3,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "firstResponseMinutes": {
            "maximum": 525600,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "resolutionMinutes": {
            "maximum": 525600,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "businessHoursOnly": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "SnowflakeScheduleConfiguration": {
        "type": "object",
        "properties": {
          "snowflakeDestinationId": {
            "type": "string",
            "format": "uuid"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "cadenceMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "nextRunUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "lastRunUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "rowVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "Stream": {
        "type": "string",
        "format": "binary"
      },
      "SuggestionBatchApprovalResult": {
        "required": [
          "suggestionBatchId"
        ],
        "type": "object",
        "properties": {
          "suggestionBatchId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "executions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ApprovedActionExecution"
            }
          }
        }
      },
      "SupportLane": {
        "required": [
          "laneId",
          "name",
          "isActive",
          "revision",
          "goClawIsActive",
          "updatedUtc",
          "channels"
        ],
        "type": "object",
        "properties": {
          "laneId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "revision": {
            "minLength": 1,
            "type": "string"
          },
          "goClawUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "goClawName": {
            "type": [
              "null",
              "string"
            ]
          },
          "goClawIsActive": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportLaneChannel"
            }
          }
        }
      },
      "SupportLaneChannel": {
        "required": [
          "channelConnectionId",
          "channelKey",
          "displayLabel",
          "address",
          "status",
          "isInboundEnabled",
          "isTicketingEnabled",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "channelConnectionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "channelKey": {
            "minLength": 1,
            "pattern": "^(email|sms)$",
            "type": "string"
          },
          "displayLabel": {
            "minLength": 1,
            "type": "string"
          },
          "address": {
            "minLength": 1,
            "type": "string"
          },
          "inboundAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "isInboundEnabled": {
            "type": "boolean"
          },
          "isTicketingEnabled": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "SupportLaneOption": {
        "required": [
          "id",
          "label",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "SupportLaneOptionPage": {
        "required": [
          "contractVersion",
          "kind",
          "items",
          "hasMore",
          "nextAfterId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "minLength": 1,
            "pattern": "^(email|sms|goclaw)$",
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportLaneOption"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterId": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ],
            "description": "Continue with afterId when hasMore is true; null marks the final page. No fixed lane-count cap.",
            "format": "uuid"
          }
        }
      },
      "SupportLanePage": {
        "required": [
          "contractVersion",
          "items",
          "hasMore",
          "nextAfterId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportLane"
            }
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextAfterId": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ],
            "description": "Continue with afterId when hasMore is true; null marks the final page. No fixed lane-count cap.",
            "format": "uuid"
          }
        }
      },
      "SupportLaneReceipt": {
        "required": [
          "contractVersion",
          "laneId",
          "revision",
          "isActive",
          "created",
          "updatedUtc"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "laneId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "revision": {
            "minLength": 1,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "boolean"
          },
          "updatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "SupportLaneRetireRequest": {
        "required": [
          "expectedRevision",
          "confirmDetachChannels"
        ],
        "type": "object",
        "properties": {
          "expectedRevision": {
            "minLength": 1,
            "pattern": "^[1-9][0-9]{0,18}$",
            "type": "string"
          },
          "confirmDetachChannels": {
            "type": "boolean"
          }
        }
      },
      "SupportLaneSaveRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 1000,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "expectedRevision": {
            "pattern": "^[1-9][0-9]{0,18}$",
            "type": [
              "null",
              "string"
            ]
          },
          "goClawUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "emailChannelId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedEmailUpdatedUtc": {
            "maxLength": 28,
            "minLength": 0,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "smsChannelId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedSmsUpdatedUtc": {
            "maxLength": 28,
            "minLength": 0,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SupportLearningCandidateListResponse": {
        "required": [
          "contractVersion",
          "pageNumber",
          "pageSize",
          "totalRecords",
          "totalPages",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportLearningCandidateSummary"
            }
          }
        }
      },
      "SupportLearningCandidateSummary": {
        "type": "object",
        "properties": {
          "supportResolutionLinkId": {
            "type": "string",
            "format": "uuid"
          },
          "knowledgeArticleId": {
            "type": "string",
            "format": "uuid"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "type": [
              "null",
              "string"
            ]
          },
          "lifecycleStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "authorityLevel": {
            "type": [
              "null",
              "string"
            ]
          },
          "isAiEligible": {
            "type": "boolean"
          },
          "isSupportEligible": {
            "type": "boolean"
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "ownerDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "reviewTaskRecordId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceInboxItemId": {
            "type": "string",
            "format": "uuid"
          },
          "sourceActivityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "sanitizationPolicyVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "candidateContentHash": {
            "type": [
              "null",
              "string"
            ]
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "SupportResolutionCandidateRequest": {
        "type": "object",
        "properties": {
          "inboxItemId": {
            "type": "string",
            "format": "uuid"
          },
          "expectedActivityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "idempotencyKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "symptom": {
            "type": [
              "null",
              "string"
            ]
          },
          "productArea": {
            "type": [
              "null",
              "string"
            ]
          },
          "likelyCause": {
            "type": [
              "null",
              "string"
            ]
          },
          "diagnosticSteps": {
            "type": [
              "null",
              "string"
            ]
          },
          "verifiedResolution": {
            "type": [
              "null",
              "string"
            ]
          },
          "affectedVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "ownerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "ownerDataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "knownPrivateValues": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SupportResolutionCandidateResponse": {
        "required": [
          "contractVersion",
          "supportResolutionLinkId",
          "knowledgeArticleId",
          "recordId",
          "reviewTaskRecordId",
          "lifecycleStatus",
          "authorityLevel",
          "isAiEligible",
          "isSupportEligible",
          "candidateContentHash",
          "correlationId",
          "replayed"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "supportResolutionLinkId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "knowledgeArticleId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "recordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "reviewTaskRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "lifecycleStatus": {
            "minLength": 1,
            "type": "string"
          },
          "authorityLevel": {
            "minLength": 1,
            "type": "string"
          },
          "isAiEligible": {
            "type": "boolean"
          },
          "isSupportEligible": {
            "type": "boolean"
          },
          "candidateContentHash": {
            "minLength": 1,
            "type": "string"
          },
          "correlationId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "replayed": {
            "type": "boolean"
          }
        }
      },
      "TenantApprovalActionEdit": {
        "type": "object",
        "properties": {
          "aiActionSuggestionId": {
            "type": "string",
            "format": "uuid"
          },
          "suggestedInput": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "TenantApproveSuggestionBatchRequest": {
        "type": "object",
        "properties": {
          "reviewNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "editedDraftResponse": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "actionEdits": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantApprovalActionEdit"
            }
          }
        }
      },
      "TenantAssetListResponse": {
        "required": [
          "contractVersion",
          "canManage",
          "pageNumber",
          "pageSize",
          "hasMore",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canManage": {
            "type": "boolean"
          },
          "pageNumber": {
            "maximum": 1000000,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "items": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenantAssetSummary"
            }
          }
        }
      },
      "TenantAssetMutationResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "assetId": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantAssetSummary": {
        "type": "object",
        "properties": {
          "assetId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          },
          "thumbnailUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "folderPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "assetType": {
            "type": [
              "null",
              "string"
            ]
          },
          "format": {
            "type": [
              "null",
              "string"
            ]
          },
          "contentType": {
            "type": [
              "null",
              "string"
            ]
          },
          "fileSizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "width": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "height": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "durationSeconds": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "isShared": {
            "type": "boolean"
          },
          "isPublic": {
            "type": "boolean"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantChannelTicketingRequest": {
        "required": [
          "isTicketingEnabled"
        ],
        "type": "object",
        "properties": {
          "isTicketingEnabled": {
            "type": "boolean"
          },
          "ticketPrefix": {
            "maxLength": 12,
            "minLength": 2,
            "pattern": "^[A-Za-z0-9]+$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantChargeCancelWrite": {
        "required": [
          "expectedLeaseVersion"
        ],
        "type": "object",
        "properties": {
          "expectedLeaseVersion": {
            "type": "integer",
            "format": "int64"
          },
          "cancellationReason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantChargeWrite": {
        "required": [
          "paymentMethodId",
          "amountCents",
          "idempotencyKey"
        ],
        "type": "object",
        "properties": {
          "paymentMethodId": {
            "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string",
            "format": "uuid"
          },
          "amountCents": {
            "minimum": 1,
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": "string",
            "description": "Supported two-decimal ISO currency; surrounding whitespace and letter case are normalized. Omit for USD; null is rejected.",
            "default": "USD"
          },
          "idempotencyKey": {
            "maxLength": 100,
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          }
        }
      },
      "TenantCustomFieldList": {
        "required": [
          "contractVersion",
          "moduleKey",
          "pageKey",
          "allowTenantFields",
          "maxTenantFields",
          "fields"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "moduleKey": {
            "minLength": 1,
            "type": "string"
          },
          "pageKey": {
            "minLength": 1,
            "type": "string"
          },
          "allowTenantFields": {
            "type": "boolean"
          },
          "maxTenantFields": {
            "type": "integer",
            "format": "int32"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefinition"
            }
          }
        }
      },
      "TenantDeliveryRetryReceipt": {
        "required": [
          "outboundMessageId"
        ],
        "type": "object",
        "properties": {
          "outboundMessageId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "deliveryStatus": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantEmailTicketingRequest": {
        "type": "object",
        "properties": {
          "isTicketingEnabled": {
            "type": "boolean"
          },
          "ticketPrefix": {
            "maxLength": 12,
            "minLength": 2,
            "pattern": "^[A-Za-z0-9]+$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantFormSubmissionRequest": {
        "type": "object",
        "properties": {
          "values": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "TenantFormSubmissionResponse": {
        "required": [
          "submissionId",
          "inboxItemId"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "submissionId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "inboxItemId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "TenantInboxHumanStateRequest": {
        "type": "object",
        "properties": {
          "expectedActivityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "isUnread": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "status": {
            "enum": [
              "New",
              "Open",
              "WaitingCustomer",
              "WaitingInternal",
              "Snoozed",
              "Resolved",
              "Closed"
            ],
            "type": "string"
          },
          "snoozedUntilUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "priority": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "assignmentMode": {
            "enum": [
              "Me",
              "Unassigned"
            ],
            "type": "string"
          }
        }
      },
      "TenantInboxReplyRequest": {
        "type": "object",
        "properties": {
          "expectedActivityVersion": {
            "type": "integer",
            "format": "int64"
          },
          "direction": {
            "type": [
              "null",
              "string"
            ]
          },
          "bodyText": {
            "type": [
              "null",
              "string"
            ]
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "toAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "ccAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledSendUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "TenantLegoAction": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceId": {
            "type": "string",
            "format": "uuid"
          },
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "kind": {
            "type": [
              "null",
              "string"
            ]
          },
          "inputFieldIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "inputConstraints": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoActionInputConstraint"
            }
          },
          "requiresRecordId": {
            "type": "boolean"
          },
          "requiresExpectedRevision": {
            "type": "boolean"
          },
          "requiresConfirmation": {
            "type": "boolean"
          },
          "result": {
            "$ref": "#/components/schemas/TenantLegoActionResult"
          }
        }
      },
      "TenantLegoActionInputConstraint": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string",
            "format": "uuid"
          },
          "maximumLength": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TenantLegoActionResult": {
        "type": "object",
        "properties": {
          "returnsRevision": {
            "type": "boolean"
          },
          "canConflict": {
            "type": "boolean"
          },
          "refreshBindingId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "TenantLegoBinding": {
        "type": "object",
        "properties": {
          "bindingId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceId": {
            "type": "string",
            "format": "uuid"
          },
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "presentationKind": {
            "type": [
              "null",
              "string"
            ]
          },
          "defaultPageSize": {
            "type": "integer",
            "format": "int32"
          },
          "maximumPageSize": {
            "type": "integer",
            "format": "int32"
          },
          "filterFieldIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "sortFieldIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "TenantLegoCatalog": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "catalogId": {
            "type": "string",
            "format": "uuid"
          },
          "catalogVersion": {
            "type": "integer",
            "format": "int32"
          },
          "resources": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoResource"
            }
          },
          "fieldCatalogs": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoFieldCatalog"
            }
          },
          "bindings": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoBinding"
            }
          },
          "actions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoAction"
            }
          },
          "components": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoComponent"
            }
          },
          "vocabularies": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoVocabulary"
            }
          },
          "lookups": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoLookupDefinition"
            }
          }
        }
      },
      "TenantLegoChoice": {
        "type": "object",
        "properties": {
          "choiceId": {
            "type": "string",
            "format": "uuid"
          },
          "value": {
            "type": [
              "null",
              "string"
            ]
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantLegoComponent": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "rendererKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "trustLevel": {
            "type": [
              "null",
              "string"
            ]
          },
          "resourceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "bindingId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "actionIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "fieldIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "defaultProps": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "TenantLegoField": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string",
            "format": "uuid"
          },
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "required": {
            "type": "boolean"
          },
          "readable": {
            "type": "boolean"
          },
          "writable": {
            "type": "boolean"
          },
          "maximumLength": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "minimum": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "maximum": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "choiceIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "lookupId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "TenantLegoFieldCatalog": {
        "type": "object",
        "properties": {
          "fieldCatalogId": {
            "type": "string",
            "format": "uuid"
          },
          "moduleId": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "fields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoField"
            }
          }
        }
      },
      "TenantLegoLookupDefinition": {
        "type": "object",
        "properties": {
          "lookupId": {
            "type": "string",
            "format": "uuid"
          },
          "kind": {
            "type": [
              "null",
              "string"
            ]
          },
          "maximumPageSize": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TenantLegoLookupOption": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "format": "uuid"
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantLegoLookupPage": {
        "required": [
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "lookupId": {
            "type": "string",
            "format": "uuid"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenantLegoLookupOption"
            }
          }
        }
      },
      "TenantLegoPresentationAction": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "format": "uuid"
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "tone": {
            "type": [
              "null",
              "string"
            ]
          },
          "requiresConfirmation": {
            "type": "boolean"
          },
          "requiresExpectedRevision": {
            "type": "boolean"
          }
        }
      },
      "TenantLegoResource": {
        "type": "object",
        "properties": {
          "resourceId": {
            "type": "string",
            "format": "uuid"
          },
          "moduleId": {
            "type": "string",
            "format": "uuid"
          },
          "key": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "fieldCatalogId": {
            "type": "string",
            "format": "uuid"
          },
          "bindingIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "actionIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "TenantLegoVocabulary": {
        "type": "object",
        "properties": {
          "vocabularyId": {
            "type": "string",
            "format": "uuid"
          },
          "fieldId": {
            "type": "string",
            "format": "uuid"
          },
          "allowsCustomValue": {
            "type": "boolean"
          },
          "choices": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantLegoChoice"
            }
          }
        }
      },
      "TenantModuleCapabilities": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "moduleKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "recordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "canCreate": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          }
        }
      },
      "TenantPaymentAttentionWrite": {
        "required": [
          "resolution",
          "expectedLeaseVersion"
        ],
        "type": "object",
        "properties": {
          "resolution": {
            "minLength": 1,
            "type": "string"
          },
          "expectedLeaseVersion": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TenantPaymentConnectorDeactivateWrite": {
        "required": [
          "expectedModifiedUtc"
        ],
        "type": "object",
        "properties": {
          "expectedModifiedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "TenantPaymentConnectorWrite": {
        "type": "object",
        "properties": {
          "paymentConnectorId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedModifiedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "connectorKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "webhookSecretReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "isTestMode": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "TenantPaymentMethodCreateWrite": {
        "required": [
          "customerRecordId",
          "paymentConnectorId",
          "providerPaymentMethodToken",
          "consentAccepted"
        ],
        "type": "object",
        "properties": {
          "customerRecordId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "paymentConnectorId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "methodType": {
            "type": [
              "null",
              "string"
            ]
          },
          "providerPaymentMethodToken": {
            "minLength": 1,
            "type": "string"
          },
          "brand": {
            "type": [
              "null",
              "string"
            ]
          },
          "last4": {
            "type": [
              "null",
              "string"
            ]
          },
          "expMonth": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "expYear": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "makeDefault": {
            "type": "boolean"
          },
          "consentAccepted": {
            "type": "boolean"
          },
          "consentVersion": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantPaymentMethodDefaultWrite": {
        "required": [
          "isDefault",
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "isDefault": {
            "type": "boolean"
          },
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "TenantPaymentMethodRevokeWrite": {
        "required": [
          "expectedUpdatedUtc"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          }
        }
      },
      "TenantPaymentPolicyWrite": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "collectionMode": {
            "enum": [
              "Disabled",
              "Optional",
              "Required"
            ],
            "type": "string"
          },
          "chargeTiming": {
            "enum": [
              "AtCreation",
              "Manual",
              "OnCompletion"
            ],
            "type": "string"
          },
          "depositBasisPoints": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "allowPartialPayments": {
            "type": "boolean"
          },
          "minimumChargeCents": {
            "type": "integer",
            "format": "int64"
          },
          "requirePaidBeforeCompletion": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "TenantRecordCountResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "totalIsExact": {
            "type": "boolean"
          },
          "browseLimit": {
            "type": "integer",
            "format": "int32"
          },
          "countLimit": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "TenantRejectSuggestionBatchRequest": {
        "type": "object",
        "properties": {
          "reviewNotes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantReviewDispositionRequest": {
        "type": "object",
        "properties": {
          "reviewNotes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantRuntimeBootstrap": {
        "required": [
          "contractVersion",
          "runtimeRequestId",
          "generatedUtc",
          "shell",
          "page"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "runtimeRequestId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "generatedUtc": {
            "minLength": 1,
            "type": "string",
            "format": "date-time"
          },
          "shell": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "components": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantRuntimeComponentContract"
            }
          },
          "page": {
            "$ref": "#/components/schemas/TenantRuntimePage"
          }
        }
      },
      "TenantRuntimeComponentContract": {
        "required": [
          "componentId",
          "scope",
          "componentKey",
          "tier",
          "displayName",
          "category",
          "manifestJson",
          "moduleRef",
          "version",
          "authorship"
        ],
        "type": "object",
        "properties": {
          "componentId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "scope": {
            "minLength": 1,
            "type": "string"
          },
          "componentKey": {
            "minLength": 1,
            "type": "string"
          },
          "tier": {
            "type": "integer",
            "format": "int32"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "category": {
            "minLength": 1,
            "type": "string"
          },
          "manifestJson": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "moduleRef": {
            "minLength": 1,
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "authorship": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "TenantRuntimeDataBindingBatch": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "bindings": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenantRuntimeDataBindingBatchItem"
            }
          }
        }
      },
      "TenantRuntimeDataBindingBatchItem": {
        "required": [
          "bindingKey",
          "status",
          "data",
          "code",
          "error"
        ],
        "type": "object",
        "properties": {
          "bindingKey": {
            "minLength": 1,
            "type": "string"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "data": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "code": {
            "minLength": 1,
            "type": "string"
          },
          "error": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "TenantRuntimeDataBindingBatchRequest": {
        "required": [
          "bindingKeys"
        ],
        "type": "object",
        "properties": {
          "bindingKeys": {
            "maxItems": 24,
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "TenantRuntimePage": {
        "required": [
          "pageKey",
          "origin",
          "pageVersion",
          "entitlementFellBack",
          "pageJson",
          "metadataJson",
          "designTokensJson"
        ],
        "type": "object",
        "properties": {
          "pageKey": {
            "minLength": 1,
            "type": "string"
          },
          "origin": {
            "minLength": 1,
            "type": "string"
          },
          "pageVersion": {
            "type": "integer",
            "format": "int32"
          },
          "entitlementFellBack": {
            "type": "boolean"
          },
          "pageJson": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "metadataJson": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "designTokensJson": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "TenantSnowflakeDestination": {
        "type": "object",
        "properties": {
          "snowflakeDestinationId": {
            "type": "string",
            "format": "uuid"
          },
          "saasAppId": {
            "type": "string",
            "format": "uuid"
          },
          "appAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "accountIdentifier": {
            "type": [
              "null",
              "string"
            ]
          },
          "warehouse": {
            "type": [
              "null",
              "string"
            ]
          },
          "databaseName": {
            "type": [
              "null",
              "string"
            ]
          },
          "schemaName": {
            "type": [
              "null",
              "string"
            ]
          },
          "roleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "principalName": {
            "type": [
              "null",
              "string"
            ]
          },
          "authenticationType": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialProvider": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialConfigured": {
            "type": "boolean"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "createdUtc": {
            "type": "string",
            "format": "date-time"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "rowVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "publicKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "verifiedUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "lastResult": {
            "type": [
              "null",
              "string"
            ]
          },
          "operationInProgress": {
            "type": "boolean"
          },
          "runs": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "checkpoints": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "TenantSnowflakeSaveRequest": {
        "required": [
          "accountIdentifier",
          "databaseName",
          "schemaName",
          "roleName",
          "principalName"
        ],
        "type": "object",
        "properties": {
          "accountIdentifier": {
            "maxLength": 63,
            "minLength": 1,
            "type": "string"
          },
          "databaseName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "schemaName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "roleName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "principalName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "generateKey": {
            "type": "boolean"
          },
          "expectedRowVersion": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TenantSnowflakeSettings": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "exportAvailable": {
            "type": "boolean"
          },
          "destination": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TenantSnowflakeDestination"
              },
              {
                "type": "null"
              }
            ]
          },
          "setupSql": {
            "type": [
              "null",
              "string"
            ]
          },
          "keyRotationSql": {
            "type": [
              "null",
              "string"
            ]
          },
          "ingestionMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "schedulingAvailable": {
            "type": "boolean"
          },
          "schedule": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SnowflakeScheduleConfiguration"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "TenantSnowpipeEnabledRequest": {
        "required": [
          "expectedRowVersion",
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "expectedRowVersion": {
            "minLength": 1,
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          }
        }
      },
      "TenantSnowpipeOperationRequest": {
        "required": [
          "expectedRowVersion"
        ],
        "type": "object",
        "properties": {
          "expectedRowVersion": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "TenantSnowpipeScheduleRequest": {
        "required": [
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "isEnabled": {
            "type": "boolean"
          },
          "cadenceMinutes": {
            "maximum": 1440,
            "minimum": 5,
            "type": "integer",
            "format": "int32"
          },
          "expectedRowVersion": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "TransferDeveloperOrganizationOwnershipRequest": {
        "required": [
          "currentOwnerUserId",
          "targetUserId",
          "expectedTargetRevisionUtc"
        ],
        "type": "object",
        "properties": {
          "currentOwnerUserId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "targetUserId": {
            "minLength": 1,
            "type": "string",
            "format": "uuid"
          },
          "expectedTargetRevisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          }
        }
      },
      "UpdateDeveloperOrganizationRequest": {
        "required": [
          "expectedUpdatedUtc",
          "accountName",
          "primaryEmail",
          "status"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "accountName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "primaryEmail": {
            "maxLength": 320,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "status": {
            "minLength": 1,
            "enum": [
              "Active",
              "Inactive"
            ],
            "type": "string"
          }
        }
      },
      "UpdateDeveloperTenantUserRequest": {
        "required": [
          "expectedRevisionUtc"
        ],
        "type": "object",
        "properties": {
          "expectedRevisionUtc": {
            "minLength": 1,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string",
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "email": {
            "maxLength": 320,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "displayName": {
            "maxLength": 200,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "userTypeKey": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^(Active|Inactive)$",
            "enum": [
              "Active",
              "Inactive"
            ],
            "type": "string"
          },
          "dataRoleIds": {
            "maxItems": 100,
            "minItems": 1,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "locationScopeMode": {
            "enum": [
              "all",
              "selected"
            ],
            "type": "string"
          },
          "locationIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "UpsertDeveloperDataRoleRequest": {
        "required": [
          "roleName",
          "canCreate",
          "canEdit",
          "canDelete",
          "canExport",
          "canAiReadRecords",
          "canExportRecords",
          "canBillRecords",
          "canViewTrustRecords",
          "canApproveDisbursementRecords"
        ],
        "type": "object",
        "properties": {
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "expectedRevisionUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "roleName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "canCreate": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          },
          "canExport": {
            "type": "boolean"
          },
          "canAiReadRecords": {
            "type": "boolean"
          },
          "canExportRecords": {
            "type": "boolean"
          },
          "canBillRecords": {
            "type": "boolean"
          },
          "canViewTrustRecords": {
            "type": "boolean"
          },
          "canApproveDisbursementRecords": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "permissionKeys": {
            "maxItems": 200,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UpsertDeveloperLocationRequest": {
        "required": [
          "locationName"
        ],
        "type": "object",
        "properties": {
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "locationName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "locationCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "address1": {
            "maxLength": 300,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "stateProvince": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "maxLength": 30,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "timeZone": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "managerUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          },
          "sortOrder": {
            "maximum": 100000,
            "minimum": -100000,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "WebLinkDynamicFieldInput": {
        "type": "object",
        "properties": {
          "fieldKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "valueInt": {
            "anyOf": [
              {
                "type": "integer",
                "format": "int64"
              },
              {
                "maxLength": 20,
                "pattern": "^-?(0|[1-9][0-9]{0,18})$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Signed 64-bit integer. Use a decimal string outside JavaScript's exact integer range. Browser-facing reads emit strings outside -9007199254740991..9007199254740991; smaller values remain numbers. Signed range is -9223372036854775808..9223372036854775807; server validation enforces it. Preserve digits; never coerce large values through Number()."
          },
          "valueDecimal": { },
          "valueDateTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "valueBool": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "valueGuid": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "valueJson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonElement"
              }
            ]
          },
          "clear": {
            "type": "boolean"
          }
        }
      },
      "WebLinkExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "WebLinkFavoriteRequest": {
        "required": [
          "isFavorite"
        ],
        "type": "object",
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        }
      },
      "WebLinkRemovalResponse": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted": {
            "type": "boolean"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "WebLinkWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ],
            "description": "Opaque stored revision string with up to seven fractional digits. Preserve the exact returned value, including its existing timezone marker or lack of one. Never convert it to a JavaScript Date, round it with toISOString(), or append a timezone marker."
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/WebLinkDynamicFieldInput"
            }
          }
        }
      },
      "WorkOrderAssignmentRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "format": "uuid"
          },
          "assignmentRole": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "WorkOrderExportCapability": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "canExport": {
            "type": "boolean"
          },
          "exportLimit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "WorkOrderListResponse": {
        "required": [
          "contractVersion",
          "pageNumber",
          "pageSize",
          "totalRecords",
          "totalPages",
          "totalIsExact",
          "hasMore",
          "items"
        ],
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "description": "Known authorized record count. When totalIsExact is false this is a lower bound, not the collection size.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Pages derived from totalRecords. When totalIsExact is false this is a lower bound and not a stopping condition. Continue using hasMore.",
            "format": "int32"
          },
          "totalIsExact": {
            "type": "boolean",
            "description": "True only when totalRecords and totalPages are exact for this response. A false value must never be presented as an exact count."
          },
          "hasMore": {
            "type": "boolean",
            "description": "When true, request pageNumber + 1 with the same pageSize, filters and identity. Stop when false; do not stop at the initial totalPages."
          },
          "canCreate": {
            "type": "boolean"
          },
          "canBill": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkOrderSummary"
            }
          }
        }
      },
      "WorkOrderPriceRequest": {
        "required": [
          "priceCents"
        ],
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "priceCents": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WorkOrderPriceResponse": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "priceCents": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "WorkOrderRemovalResponse": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "objectKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted": {
            "type": "boolean"
          },
          "correlationId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "WorkOrdersPresentationDocumentResponse": {
        "required": [
          "metrics",
          "recent",
          "byStatus",
          "trend",
          "table",
          "timeline"
        ],
        "type": "object",
        "properties": {
          "metrics": {
            "$ref": "#/components/schemas/DeveloperPresentationPartResponse"
          },
          "recent": {
            "$ref": "#/components/schemas/DeveloperPresentationPartResponse"
          },
          "byStatus": {
            "$ref": "#/components/schemas/DeveloperPresentationPartResponse"
          },
          "trend": {
            "$ref": "#/components/schemas/DeveloperPresentationPartResponse"
          },
          "table": {
            "$ref": "#/components/schemas/DeveloperPresentationPartResponse"
          },
          "timeline": {
            "$ref": "#/components/schemas/DeveloperPresentationPartResponse"
          }
        }
      },
      "WorkOrderStatusRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "enum": [
              "Requested",
              "Scheduled",
              "Dispatched",
              "InProgress",
              "OnHold",
              "Completed",
              "Cancelled"
            ],
            "type": "string"
          }
        }
      },
      "WorkOrderStatusTransition": {
        "type": "object",
        "properties": {
          "choiceId": {
            "type": "string",
            "format": "uuid"
          },
          "value": {
            "type": [
              "null",
              "string"
            ]
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "WorkOrderStatusTransitions": {
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "integer",
            "format": "int32"
          },
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "currentChoiceId": {
            "type": "string",
            "format": "uuid"
          },
          "currentValue": {
            "type": [
              "null",
              "string"
            ]
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/WorkOrderStatusTransition"
            }
          }
        }
      },
      "WorkOrderSummary": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "format": "uuid"
          },
          "workOrderId": {
            "type": "string",
            "format": "uuid"
          },
          "workOrderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "customerName": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "priority": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledStartUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "scheduledEndUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "updatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": "string"
          },
          "assignmentCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "WorkOrderWriteRequest": {
        "type": "object",
        "properties": {
          "expectedUpdatedUtc": {
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{1,7})?(?:Z|[+-][0-9]{2}:[0-9]{2})?$",
            "type": [
              "null",
              "string"
            ]
          },
          "isPersonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "dataRoleId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "locationScope": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "customerRecordId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "workOrderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "priority": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledStartUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "scheduledEndUtc": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "dynamicFields": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValueWrite"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "DraftAppCredential": {
        "type": "http",
        "description": "A server-held draft app credential. It can receive only pages.draft.read, pages.draft.write, design.read, debug.read and debug.write; it cannot publish, change the live app or access live tenant data.",
        "scheme": "bearer",
        "bearerFormat": "bwk_draft_"
      },
      "LiveAppCredential": {
        "type": "http",
        "description": "A server-held live app credential. Never expose this credential to browser or mobile code.",
        "scheme": "bearer",
        "bearerFormat": "bwk_live_"
      },
      "DelegatedUserCredential": {
        "type": "http",
        "description": "A short-lived delegated-user credential for browser, mobile, or user-specific agent calls. The server revalidates its parent grant and TenantUser on every request.",
        "scheme": "bearer",
        "bearerFormat": "bwu_live_"
      }
    }
  },
  "security": [
    {
      "LiveAppCredential": [ ]
    }
  ],
  "tags": [
    {
      "name": "MCP"
    },
    {
      "name": "DeveloperAi"
    },
    {
      "name": "DeveloperAppDesignAuthorization"
    },
    {
      "name": "DeveloperAppDesignPages"
    },
    {
      "name": "DeveloperAppDesignAuthoring"
    },
    {
      "name": "DeveloperAppDesignFields"
    },
    {
      "name": "DeveloperAppDesignLinkTypes"
    },
    {
      "name": "DeveloperAppDesignAiInsights"
    },
    {
      "name": "DeveloperAppDesignPersonalFiles"
    },
    {
      "name": "DeveloperAppDesignVocabulary"
    },
    {
      "name": "DeveloperAppDesignDebug"
    },
    {
      "name": "DeveloperAppOpenApi"
    },
    {
      "name": "DeveloperAssets"
    },
    {
      "name": "DeveloperAuthContext"
    },
    {
      "name": "DeveloperConnectorRegistry"
    },
    {
      "name": "DeveloperCustomFields"
    },
    {
      "name": "DeveloperDatabaseContracts"
    },
    {
      "name": "DeveloperDataConnectors"
    },
    {
      "name": "DeveloperDataRoleAdmin"
    },
    {
      "name": "DeveloperHeadlessIdentity"
    },
    {
      "name": "DeveloperOrganizationLifecycle"
    },
    {
      "name": "DeveloperInboundEndpoints"
    },
    {
      "name": "DeveloperInstalledServices"
    },
    {
      "name": "DeveloperLogs"
    },
    {
      "name": "DeveloperOAuthConnections"
    },
    {
      "name": "DeveloperOutsideForms"
    },
    {
      "name": "DeveloperPaymentConnectors"
    },
    {
      "name": "DeveloperPresentations"
    },
    {
      "name": "DeveloperRecords"
    },
    {
      "name": "DeveloperRuntimeFields"
    },
    {
      "name": "DeveloperRuntimePages"
    },
    {
      "name": "DeveloperSkills"
    },
    {
      "name": "DeveloperThemes"
    },
    {
      "name": "DeveloperWebhookDeliveries"
    },
    {
      "name": "DeveloperWebhookSubscriptions"
    },
    {
      "name": "GatewayMetadata"
    },
    {
      "name": "PlatformOwnerOpenApi"
    },
    {
      "name": "TenantActiveWorkplace"
    },
    {
      "name": "TenantAiInsights"
    },
    {
      "name": "TenantCalendar"
    },
    {
      "name": "TenantCalendarExport"
    },
    {
      "name": "TenantChatRooms"
    },
    {
      "name": "TenantChecklistRunHistory"
    },
    {
      "name": "TenantChecklists"
    },
    {
      "name": "TenantChecklistsExport"
    },
    {
      "name": "TenantCompanyNews"
    },
    {
      "name": "TenantCompanyNewsExport"
    },
    {
      "name": "TenantContactInboundAddresses"
    },
    {
      "name": "TenantContacts"
    },
    {
      "name": "TenantContactsImport"
    },
    {
      "name": "TenantConversations"
    },
    {
      "name": "TenantConversationTags"
    },
    {
      "name": "TenantDiscussionBoards"
    },
    {
      "name": "TenantDiscussionBoardsExport"
    },
    {
      "name": "TenantDynamicModules"
    },
    {
      "name": "TenantDynamicRecordsExport"
    },
    {
      "name": "TenantFavorites"
    },
    {
      "name": "TenantFavoritesExport"
    },
    {
      "name": "TenantFiles"
    },
    {
      "name": "TenantFilesExport"
    },
    {
      "name": "TenantGlobalSearch"
    },
    {
      "name": "TenantGoClawApprovals"
    },
    {
      "name": "TenantInboxRoutingRules"
    },
    {
      "name": "TenantInboxSlaPolicies"
    },
    {
      "name": "TenantKnowledgeArticles"
    },
    {
      "name": "TenantKnowledgeArticlesExport"
    },
    {
      "name": "TenantKnowledgeCore"
    },
    {
      "name": "TenantKnowledgeCoreExport"
    },
    {
      "name": "TenantMailReader"
    },
    {
      "name": "TenantNotifications"
    },
    {
      "name": "TenantPayments"
    },
    {
      "name": "TenantRecordActivity"
    },
    {
      "name": "TenantRecordDeletion"
    },
    {
      "name": "TenantRecordGraph"
    },
    {
      "name": "TenantReservations"
    },
    {
      "name": "TenantReservationsExport"
    },
    {
      "name": "TenantSnowflake"
    },
    {
      "name": "TenantSupportLanes"
    },
    {
      "name": "TenantUniversalInbox"
    },
    {
      "name": "TenantWebLinks"
    },
    {
      "name": "TenantWebLinksExport"
    },
    {
      "name": "TenantWorkOrders"
    },
    {
      "name": "TenantWorkOrdersExport"
    }
  ]
}