{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alto-vebra/json-schema/alto-vebra-opt-out-response-schema.json",
  "title": "OptOutResponse",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alto-vebra-partners-api-openapi.yml#/components/schemas/OptOutResponse",
  "type": "object",
  "properties": {
    "linkedType": {
      "allOf": [
        {
          "$ref": "#/$defs/ModelType"
        }
      ]
    },
    "linkedId": {
      "type": "integer",
      "format": "int64"
    },
    "optOutStatus": {
      "allOf": [
        {
          "$ref": "#/$defs/EntityOptOutStatus"
        }
      ]
    },
    "optedOutAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "optedOutBy": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "EntityOptOutStatus": {
      "enum": [
        "OptedIn",
        "OptedOut"
      ],
      "type": "string"
    },
    "ModelType": {
      "enum": [
        "Unknown",
        "Group",
        "User",
        "Role",
        "Product",
        "Transaction",
        "SecurityRelationship",
        "OtherSecurityResource",
        "UserCode",
        "ProductRole",
        "Code",
        "CodeText",
        "Company",
        "Brand",
        "Branch",
        "BranchUser",
        "BranchBankAccount",
        "BranchBrand",
        "MatchArea",
        "BranchMatchArea",
        "CustomLocation",
        "RecurringEvent",
        "BatchList",
        "BatchListItem",
        "BatchTask",
        "BatchTaskSchedule",
        "BatchRun",
        "BatchCounter",
        "BatchError",
        "BatchRunTask",
        "GroupLock",
        "GroupLockHistory",
        "GroupReport",
        "ServiceRequestHistory",
        "SecuritySessionHistory",
        "ValueDomain",
        "Parameter",
        "ParameterList",
        "ParameterTable",
        "ValueDomainItem",
        "CodeList",
        "ParameterValue",
        "GroupCodeList",
        "ParameterListValue",
        "ParameterTableKey",
        "ParameterTableKeyValue",
        "ParameterTableValue",
        "ReportStructure",
        "ReportSection",
        "ReportColumn",
        "ReportFilter",
        "Applicant",
        "Property",
        "Contact",
        "PropertySale",
        "PropertyRental",
        "Room",
        "Media",
        "PostalAddress",
        "Phone",
        "EmailAddress",
        "GroupBankAccount",
        "GroupBankBranch",
        "Vendor",
        "Landlord",
        "Tenant",
        "Guarantor",
        "Supplier",
        "Tenancy",
        "ThirdParty",
        "ClientBankAccount",
        "DefaultFee",
        "FeeInstruction",
        "DiaryEvent",
        "DiaryEventParty",
        "Viewing",
        "PropertyValuation",
        "PropertyMatchArea",
        "PropertyFeature",
        "RoomMedia",
        "PropertyContact",
        "ContactRelationship",
        "Offer",
        "AgreedOffer",
        "Communication",
        "DiaryEventRecurringSchedule",
        "DiaryEventRecurringException",
        "HistoryEvent",
        "HistoryEventParty",
        "ComparableProperty",
        "PropertyBullet",
        "PropertyLease",
        "Requirement",
        "RequirementItem",
        "DiaryEventReminder",
        "AuditedChange",
        "CommunicationError",
        "DocumentTemplate",
        "FollowUp",
        "MediaFile",
        "PropertyInsurance",
        "PropertyUploadIndex",
        "SavedSearch",
        "UploadRequest",
        "KeySet",
        "ReportConfiguration",
        "ReportSchedule",
        "Report",
        "LetterRackItem",
        "Timeline",
        "FinancialTransaction",
        "CashBookItem",
        "Charge",
        "PurchaseInvoice",
        "PurchaseInvoiceItem",
        "SalesInvoice",
        "SalesInvoiceItem",
        "PropertyRelationship",
        "ReportConfigurationItem",
        "PendingDocument",
        "PendingDocumentParty",
        "MarketingEvent",
        "MarketingEventProperty",
        "Help",
        "ChainLink",
        "ChainLinkParty",
        "UnknownProperty",
        "UnknownContact",
        "Progression",
        "ManyToMany",
        "ManyToManyItem",
        "SMSRequest",
        "PropertyTemplate",
        "AdvertRun",
        "AdvertRunProperty",
        "BoardManagement",
        "StandardParagraph",
        "LocalCacheItemContainer",
        "ChainLinkSolicitor",
        "DefaultExpense",
        "MatchAreaGroup",
        "GroupData",
        "Lead",
        "PropertyWebStatistic",
        "ProductDocumentation",
        "WebStatisticsProvider",
        "PropertyMatchOn",
        "ExternalEmailAttachment",
        "Email",
        "SavedMatchList",
        "SavedMatchListRow",
        "ImportExternalKeyMapping",
        "EmailTemplate",
        "SelfBillingInvoice",
        "PropertyUtility",
        "PaymentGroup",
        "PaymentGroupProperty",
        "TaxExemptionPeriod",
        "LinkedAccount",
        "TenancyUtilityReading",
        "TenancyEvent",
        "TenancyDepositProtection",
        "TenancyMarketing",
        "WorkOrder",
        "WorkOrderEvent",
        "PaymentMethod",
        "ManagementDateAttribute",
        "DepositScheme",
        "BranchSequenceNumber",
        "FrequencyAttribute",
        "Accounts",
        "SupplierService",
        "ChargeToPost",
        "AccountTransaction",
        "BacsFileExtension",
        "BacsFileContent",
        "DestinationBankAccount",
        "TransactionHistory",
        "DefaultPMFee",
        "OpeningBalance",
        "HeldMoney",
        "Retention",
        "AuditItem",
        "OpeningBalanceHistory",
        "AccountingDocumentRequest",
        "EffectivePermission",
        "AccountingDocumentGenerationRun",
        "ChargeTemplate",
        "PropertyOwnership",
        "FollowUpEvent",
        "ReviewNotes",
        "PendingReportRequest",
        "SendGridEvent",
        "BookingRequest",
        "TdsCommunicationState",
        "SigningRequest",
        "ContactOwnedPropertiesCollection",
        "MaintenanceRequest",
        "AccountsExportProfile",
        "AccountsDataExport",
        "SecurityAttribute"
      ],
      "type": "string"
    }
  }
}