{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/rutter/json-schema/rutter-patch-platform-sync-config-request-schema.json",
  "title": "PatchPlatformSyncConfigRequest",
  "description": "Sync configuration for a specific platform e.g. Quickbooks",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/rutter-connections-api-openapi.yml#/components/schemas/PatchPlatformSyncConfigRequest",
  "type": "object",
  "properties": {
    "initialSync": {
      "type": "object",
      "properties": {
        "batches": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "timeFrameInMonths": {
                "type": "number",
                "exclusiveMinimum": true,
                "minimum": 0
              },
              "entities": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "ACCOUNT",
                    "ACCOUNT_BALANCE",
                    "ACCOUNT_BALANCE_BY_SUBSIDIARY",
                    "ACCOUNTING_CUSTOMER",
                    "ACCOUNTING_CUSTOMER_REFUND",
                    "ACCOUNTING_TRANSACTION",
                    "ACCOUNT_TRANSACTION",
                    "AP_AGING_REPORT_SUMMARY",
                    "AP_AGING_REPORT_DATA",
                    "AR_AGING_REPORT_SUMMARY",
                    "AR_AGING_REPORT_DATA",
                    "ATTACHMENT",
                    "BALANCE_SHEET",
                    "BANK_DEPOSIT",
                    "BANK_FEED_ACCOUNT",
                    "BANK_FEED_CONTACT",
                    "BANK_FEED_PAYMENT_NETWORK",
                    "BANK_FEED_TRANSACTION",
                    "BANK_TRANSFER",
                    "BILL",
                    "BILL_CREDIT_APPLICATION",
                    "BILL_CREDIT_UNAPPLICATION",
                    "BILL_CREDIT_MEMO",
                    "BILL_PAYMENT",
                    "CASH_FLOW",
                    "CATEGORIES",
                    "CLASS",
                    "COMPANY_INFO",
                    "CURRENCIES",
                    "CUSTOM_RECORD",
                    "DEPARTMENT",
                    "EXCHANGE_RATE",
                    "EXPENSE",
                    "EXPENSE_REFUND",
                    "INCOME_STATEMENT",
                    "INVOICE",
                    "INVOICE_CREDIT_APPLICATION",
                    "INVOICE_CREDIT_UNAPPLICATION",
                    "INVOICE_CREDIT_MEMO",
                    "INVOICE_PAYMENT",
                    "ITEMS",
                    "JOURNAL_ENTRY",
                    "LOCATION",
                    "PAYMENT_TERM",
                    "PAYMENT_METHOD",
                    "PROJECT",
                    "PURCHASE_ORDER",
                    "SALES_ORDER",
                    "SALES_RECEIPT",
                    "SUBSIDIARY",
                    "TASK",
                    "TAX_AGENCY",
                    "TAX_AREA",
                    "TAX_RATES",
                    "TAX_DETAIL",
                    "UPDATED_TRANSACTION",
                    "VENDOR",
                    "COLLECTION",
                    "COMMERCE_CUSTOMER",
                    "CUSTOMER_GROUP",
                    "INVENTORY_EVENTS",
                    "ORDER",
                    "FULFILLMENT",
                    "PAYOUT",
                    "PRODUCT",
                    "PRODUCT_VARIANT",
                    "STORE",
                    "SUBSCRIPTION",
                    "TRANSACTION"
                  ]
                }
              }
            },
            "required": [
              "timeFrameInMonths",
              "entities"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "batches"
      ],
      "additionalProperties": false
    },
    "incrementalSync": {
      "type": "object",
      "properties": {
        "syncPeriodInMinutes": {
          "type": "number",
          "minimum": 60,
          "maximum": 20160
        },
        "entities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ACCOUNT",
              "ACCOUNT_BALANCE",
              "ACCOUNT_BALANCE_BY_SUBSIDIARY",
              "ACCOUNTING_CUSTOMER",
              "ACCOUNTING_CUSTOMER_REFUND",
              "ACCOUNTING_TRANSACTION",
              "ACCOUNT_TRANSACTION",
              "AP_AGING_REPORT_SUMMARY",
              "AP_AGING_REPORT_DATA",
              "AR_AGING_REPORT_SUMMARY",
              "AR_AGING_REPORT_DATA",
              "ATTACHMENT",
              "BALANCE_SHEET",
              "BANK_DEPOSIT",
              "BANK_FEED_ACCOUNT",
              "BANK_FEED_CONTACT",
              "BANK_FEED_PAYMENT_NETWORK",
              "BANK_FEED_TRANSACTION",
              "BANK_TRANSFER",
              "BILL",
              "BILL_CREDIT_APPLICATION",
              "BILL_CREDIT_UNAPPLICATION",
              "BILL_CREDIT_MEMO",
              "BILL_PAYMENT",
              "CASH_FLOW",
              "CATEGORIES",
              "CLASS",
              "COMPANY_INFO",
              "CURRENCIES",
              "CUSTOM_RECORD",
              "DEPARTMENT",
              "EXCHANGE_RATE",
              "EXPENSE",
              "EXPENSE_REFUND",
              "INCOME_STATEMENT",
              "INVOICE",
              "INVOICE_CREDIT_APPLICATION",
              "INVOICE_CREDIT_UNAPPLICATION",
              "INVOICE_CREDIT_MEMO",
              "INVOICE_PAYMENT",
              "ITEMS",
              "JOURNAL_ENTRY",
              "LOCATION",
              "PAYMENT_TERM",
              "PAYMENT_METHOD",
              "PROJECT",
              "PURCHASE_ORDER",
              "SALES_ORDER",
              "SALES_RECEIPT",
              "SUBSIDIARY",
              "TASK",
              "TAX_AGENCY",
              "TAX_AREA",
              "TAX_RATES",
              "TAX_DETAIL",
              "UPDATED_TRANSACTION",
              "VENDOR",
              "COLLECTION",
              "COMMERCE_CUSTOMER",
              "CUSTOMER_GROUP",
              "INVENTORY_EVENTS",
              "ORDER",
              "FULFILLMENT",
              "PAYOUT",
              "PRODUCT",
              "PRODUCT_VARIANT",
              "STORE",
              "SUBSCRIPTION",
              "TRANSACTION"
            ]
          }
        }
      },
      "required": [
        "syncPeriodInMinutes",
        "entities"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "initialSync",
    "incrementalSync"
  ]
}