{
  "openapi": "3.1.0",
  "info": {
    "title": "Accounting",
    "description": "AP bills, AP credits, AP payments, bank deposits, credit memos, expense transactions, GL accounts, inventory bills, invoices, journal entries, payments, payment terms, payment types, remittance vendors, tax zones",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.servicetitan.io/accounting/v2",
      "description": "Production"
    },
    {
      "url": "https://api-integration.servicetitan.io/accounting/v2",
      "description": "Integration"
    }
  ],
  "paths": {
    "/tenant/{tenant}/ap-bills": {
      "get": {
        "tags": [
          "ApBills"
        ],
        "summary": "Returns a paginated list of AP bills with detailed item information, filtering capabilities, and associated metadata",
        "operationId": "ApBills_GetListPaginated",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-separated list of specific AP bill IDs to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "description": "Filter by specific batch ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "description": "Filter by batch number",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "billNumber",
            "in": "query",
            "description": "Filter by bill number (partial match supported)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "description": "Comma-separated list of business unit IDs to filter by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Filter bills created on or after this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "Filter bills created on or before this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "jobNumber",
            "in": "query",
            "description": "Filter by job number (partial match supported)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchaseOrderNumber",
            "in": "query",
            "description": "Filter by purchase order number (partial match supported)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchaseOrderTypes",
            "in": "query",
            "description": "Comma-separated list of purchase order types to filter by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "description": "Filter by sync status values",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.ApBillSyncStatus"
              }
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "description": "Filter by bill status values",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.ApBillStatus"
              }
            }
          },
          {
            "name": "sources",
            "in": "query",
            "description": "Filter by bill source values",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.ApBillSource"
              }
            }
          },
          {
            "name": "minCost",
            "in": "query",
            "description": "Filter bills with cost greater than or equal to this amount",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "maxCost",
            "in": "query",
            "description": "Filter bills with cost less than or equal to this amount",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "billType",
            "in": "query",
            "description": "Filter by bill type (defaults to Procurement)\\\nValues: [NotSet, Procurement, ApBill]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.ApBillType"
                }
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateReconciledBefore",
            "in": "query",
            "description": "Filter by bills reconciled on or before this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateReconciledOnOrAfter",
            "in": "query",
            "description": "Filter by bills reconciled after this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "threeWayMatchDiscrepancy",
            "in": "query",
            "description": "Filter by three-way match discrepancy status\\\nValues: [NoDiscrepancy, Discrepancy]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.ApBillThreeWayMatchDiscrepancy"
                }
              ]
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated list of AP bills",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.ApBillResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "purchaseOrderId": 0,
                      "syncStatus": "string",
                      "status": "string",
                      "source": "string",
                      "billType": "string",
                      "postDate": "string",
                      "referenceNumber": "string",
                      "vendorNumber": "string",
                      "summary": "string",
                      "billDate": "string",
                      "earlyDiscountDate": "string",
                      "billAmount": "string",
                      "vendorInvoiceTotal": "string",
                      "taxAmount": "string",
                      "shippingAmount": "string",
                      "landedCostMethod": {},
                      "otherAmount": "string",
                      "preTaxDiscountAmount": "string",
                      "preTaxCharge": "string",
                      "postTaxDiscountAmount": "string",
                      "postTaxCharge": "string",
                      "createdBy": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "termName": "string",
                      "dueDate": "string",
                      "doNotPay": true,
                      "dateCanceled": "string",
                      "canceledBy": {
                        "id": 0,
                        "name": "string"
                      },
                      "shipToDescription": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "taxZone": {
                        "id": 0,
                        "name": "string"
                      },
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "remittanceVendorInfo": {
                        "id": 0,
                        "name": "string"
                      },
                      "shipTo": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "budgetCodeId": 0,
                      "items": [
                        {
                          "order": 0,
                          "name": "string",
                          "description": "string",
                          "quantity": "string",
                          "cost": "string",
                          "allocatedTax": "string",
                          "allocatedShipping": "string",
                          "allocatedOtherCosts": "string",
                          "fullyLandedUnitCost": "string",
                          "inventoryLocation": {
                            "id": 0,
                            "name": "string",
                            "type": "string"
                          },
                          "vendorPartNumber": "string",
                          "serialNumber": "string",
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "costOfSaleAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "assetAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "id": 0,
                          "skuId": 0,
                          "receiptItemId": 0,
                          "skuType": "string",
                          "skuCode": "string",
                          "budgetCodeId": 0
                        }
                      ],
                      "expenseItems": [
                        {
                          "id": 0,
                          "amount": "string",
                          "description": "string",
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "job": {
                            "id": 0,
                            "name": "string"
                          },
                          "businessUnit": {
                            "id": 0,
                            "name": "string"
                          },
                          "budgetCodeId": 0,
                          "projectLabelIds": [
                            0
                          ]
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "jobId": 0,
                      "jobNumber": "string",
                      "dateReconciled": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apbills:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-bills/{billId}": {
      "get": {
        "tags": [
          "ApBills"
        ],
        "summary": "Returns a single AP bill by its unique identifier with complete details including items, expense items, and associated metadata",
        "operationId": "ApBills_GetById",
        "parameters": [
          {
            "name": "billId",
            "in": "path",
            "description": "The unique identifier of the AP bill to retrieve",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the AP bill",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.ApBillResponse"
                },
                "example": {
                  "id": 0,
                  "purchaseOrderId": 0,
                  "syncStatus": "string",
                  "status": "string",
                  "source": "string",
                  "billType": "string",
                  "postDate": "string",
                  "referenceNumber": "string",
                  "vendorNumber": "string",
                  "summary": "string",
                  "billDate": "string",
                  "earlyDiscountDate": "string",
                  "billAmount": "string",
                  "vendorInvoiceTotal": "string",
                  "taxAmount": "string",
                  "shippingAmount": "string",
                  "landedCostMethod": {},
                  "otherAmount": "string",
                  "preTaxDiscountAmount": "string",
                  "preTaxCharge": "string",
                  "postTaxDiscountAmount": "string",
                  "postTaxCharge": "string",
                  "createdBy": "string",
                  "createdOn": "string",
                  "modifiedOn": "string",
                  "termName": "string",
                  "dueDate": "string",
                  "doNotPay": true,
                  "dateCanceled": "string",
                  "canceledBy": {
                    "id": 0,
                    "name": "string"
                  },
                  "shipToDescription": "string",
                  "batch": {
                    "id": 0,
                    "number": "string",
                    "name": "string"
                  },
                  "businessUnit": {
                    "id": 0,
                    "name": "string"
                  },
                  "taxZone": {
                    "id": 0,
                    "name": "string"
                  },
                  "vendor": {
                    "id": 0,
                    "name": "string"
                  },
                  "remittanceVendorInfo": {
                    "id": 0,
                    "name": "string"
                  },
                  "shipTo": {
                    "street": "string",
                    "unit": "string",
                    "city": "string",
                    "state": "string",
                    "zip": "string",
                    "country": "string"
                  },
                  "budgetCodeId": 0,
                  "items": [
                    {
                      "order": 0,
                      "name": "string",
                      "description": "string",
                      "quantity": "string",
                      "cost": "string",
                      "allocatedTax": "string",
                      "allocatedShipping": "string",
                      "allocatedOtherCosts": "string",
                      "fullyLandedUnitCost": "string",
                      "inventoryLocation": {
                        "id": 0,
                        "name": "string",
                        "type": "string"
                      },
                      "vendorPartNumber": "string",
                      "serialNumber": "string",
                      "generalLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "costOfSaleAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "assetAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "id": 0,
                      "skuId": 0,
                      "receiptItemId": 0,
                      "skuType": "string",
                      "skuCode": "string",
                      "budgetCodeId": 0
                    }
                  ],
                  "expenseItems": [
                    {
                      "id": 0,
                      "amount": "string",
                      "description": "string",
                      "generalLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "job": {
                        "id": 0,
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "budgetCodeId": 0,
                      "projectLabelIds": [
                        0
                      ]
                    }
                  ],
                  "customFields": [
                    {
                      "name": "string",
                      "value": "string"
                    }
                  ],
                  "jobId": 0,
                  "jobNumber": "string",
                  "dateReconciled": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "404": {
            "description": "AP bill with the specified ID was not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apbills:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-bills/custom-fields": {
      "get": {
        "tags": [
          "ApBills"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for AP bills",
        "operationId": "ApBills_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the custom field types",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apbills:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "ApBills"
        ],
        "summary": "Updates custom field values on multiple AP bills",
        "operationId": "ApBills_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "The custom field update request containing bill IDs and field values to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated custom fields on the specified AP bills"
          },
          "400": {
            "description": "Invalid request data or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apbills:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-bills/markasexported": {
      "post": {
        "tags": [
          "ApBills"
        ],
        "summary": "Marks multiple AP bills as exported, updating their sync status to indicate they have been exported to external systems",
        "operationId": "ApBills_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing AP bill IDs to mark as exported",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.MarkApBillAsExportedUpdateRequest"
              },
              "example": {
                "billIds": [
                  0
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed the mark as exported request for all bills",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.MarkApBillAsExportedUpdateResponse"
                  }
                },
                "example": [
                  {
                    "billId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Invalid request data or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apbills:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-credits": {
      "get": {
        "tags": [
          "ApCredits"
        ],
        "summary": "Gets a paginated list of ap credits",
        "operationId": "ApCredits_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Perform lookup by multiple IDs (maximum 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by specified fields",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.InventoryBillSyncStatus"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.ApCreditResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "inventoryReturnId": 0,
                      "jobId": 0,
                      "active": true,
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "date": "string",
                      "canceledOn": "string",
                      "number": "string",
                      "referenceNumber": "string",
                      "memo": "string",
                      "amount": 0,
                      "appliedAmount": 0,
                      "status": "Unreconciled",
                      "syncStatus": "Pending",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "remittanceVendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "paymentStatus": "Unpaid",
                      "splits": [
                        {
                          "id": 0,
                          "active": true,
                          "createdOn": "string",
                          "inventoryBillId": 0,
                          "vendorCreditId": 0,
                          "amount": 0
                        }
                      ],
                      "budgetCodeId": 0,
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "items": [
                        {
                          "id": 0,
                          "skuId": 0,
                          "skuCode": "string",
                          "skuType": "string",
                          "name": "string",
                          "description": "string",
                          "quantity": "string",
                          "cost": "string",
                          "total": "string",
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "costOfSaleAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "assetAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "projectLabelIds": [
                            0
                          ]
                        }
                      ],
                      "expenseItems": [
                        {
                          "id": 0,
                          "amount": "string",
                          "description": "string",
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "job": {
                            "id": 0,
                            "name": "string"
                          },
                          "businessUnit": {
                            "id": 0,
                            "name": "string"
                          },
                          "projectLabelIds": [
                            0
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apcredits:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-credits/custom-fields": {
      "get": {
        "tags": [
          "ApCredits"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for AP credits",
        "operationId": "ApCredits_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the custom field types",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apcredits:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "ApCredits"
        ],
        "summary": "Updates custom field values on multiple AP credits",
        "operationId": "ApCredits_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "The custom field update request containing credit IDs and field values to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated custom fields on the specified AP credits"
          },
          "400": {
            "description": "Invalid request data or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apcredits:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-credits/markasexported": {
      "post": {
        "tags": [
          "ApCredits"
        ],
        "summary": "Marks ap-credits as exported.",
        "operationId": "ApCredits_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Accounting.V2.MarkApCreditAsExportedUpdateRequest"
                }
              },
              "example": [
                {
                  "apCreditId": 0
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.MarkApCreditAsExportedUpdateResponse"
                  }
                },
                "example": [
                  {
                    "apCreditId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.apcredits:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-payments": {
      "get": {
        "tags": [
          "ApPayments"
        ],
        "operationId": "ApPayments_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Perform lookup by multiple IDs (maximum 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by specified fields",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.InventoryBillSyncStatus"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.ApPaymentResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "active": true,
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "date": "string",
                      "approvedDate": "string",
                      "method": "AccountingSystem",
                      "name": "string",
                      "printCheck": true,
                      "amount": 0,
                      "errorMessage": "string",
                      "status": "Unpaid",
                      "syncStatus": "Pending",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "glAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "remittanceVendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "splits": [
                        {
                          "id": 0,
                          "active": true,
                          "createdOn": "string",
                          "documentId": 0,
                          "inventoryBillId": 0,
                          "amount": 0
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.appayments:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-payments/custom-fields": {
      "get": {
        "tags": [
          "ApPayments"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for AP payments",
        "operationId": "ApPayments_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the custom field types",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.appayments:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "ApPayments"
        ],
        "summary": "Updates custom field values on multiple AP payments",
        "operationId": "ApPayments_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "The custom field update request containing payment IDs and field values to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated custom fields on the specified AP payments"
          },
          "400": {
            "description": "Invalid request data or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.appayments:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/ap-payments/markasexported": {
      "post": {
        "tags": [
          "ApPayments"
        ],
        "summary": "Marks ap-payments as exported.",
        "operationId": "ApPayments_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Accounting.V2.MarkApPaymentAsExportedUpdateRequest"
                }
              },
              "example": [
                {
                  "apPaymentId": 0,
                  "externalId": "string",
                  "externalMessage": "string"
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.MarkApPaymentAsExportedUpdateResponse"
                  }
                },
                "example": [
                  {
                    "apPaymentId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.appayments:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos": {
      "get": {
        "tags": [
          "CreditMemos"
        ],
        "operationId": "CreditMemos_GetCreditMemosList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "Values: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appliedToInvoiceIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appliedToReferenceNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dateOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "appliedBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "appliedOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "description": "Transaction status, which can be one of: Pending, Posted, Exported.\nBy default, all transaction statuses are included.  If you want to filter by more\nthan one status, add a new \"statuses\" query parameter for each status you want to include.\nFor example: &statuses=Pending&statuses=Posted",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.TransactionStatus"
              }
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "totalFilter.Amount",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "totalFilter.Comparer",
            "in": "query",
            "description": "Values: [Equal, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.Shared.AmountComparisonOperator"
                }
              ]
            }
          },
          {
            "name": "balanceFilter.Amount",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "balanceFilter.Comparer",
            "in": "query",
            "description": "Values: [Equal, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.Shared.AmountComparisonOperator"
                }
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CreditMemos.CreditMemoPublicResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "date": "string",
                      "referenceNumber": "string",
                      "subTotal": 0,
                      "salesTax": 0,
                      "salesTaxCode": {
                        "id": 0,
                        "name": "string",
                        "taxRate": 0
                      },
                      "total": 0,
                      "balance": 0,
                      "appliedTo": [
                        {
                          "appliedId": 0,
                          "appliedTo": 0,
                          "appliedAmount": 0,
                          "appliedOn": "string",
                          "appliedBy": "string",
                          "appliedToReferenceNumber": "string"
                        }
                      ],
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "customerAddress": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "location": {
                        "id": 0,
                        "name": "string"
                      },
                      "locationAddress": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "syncStatus": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "createdOn": "string",
                      "createdBy": "string",
                      "modifiedOn": "string",
                      "modifiedBy": "string",
                      "description": "string",
                      "active": true,
                      "importId": "string",
                      "exportId": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos/{id}/items": {
      "get": {
        "tags": [
          "CreditMemos"
        ],
        "operationId": "CreditMemos_GetCreditMemoItemsList",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "Values: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CreditMemos.CreditMemoItemsPublicResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "active": true,
                      "description": "string",
                      "quantity": 0,
                      "cost": 0,
                      "price": 0,
                      "type": "string",
                      "skuName": "string",
                      "skuId": 0,
                      "total": 0,
                      "taxable": true,
                      "revenueGeneralLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string"
                      },
                      "expensesGeneralLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string"
                      },
                      "createdOn": "string",
                      "createdBy": "string",
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos/credit-memo-items": {
      "get": {
        "tags": [
          "CreditMemos"
        ],
        "operationId": "CreditMemos_GetCreditMemosItemsList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "creditMemoIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "Values: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CreditMemos.CreditMemosItemsPublicResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "active": true,
                      "description": "string",
                      "quantity": 0,
                      "cost": 0,
                      "price": 0,
                      "type": "string",
                      "skuName": "string",
                      "skuId": 0,
                      "total": 0,
                      "taxable": true,
                      "revenueGeneralLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string"
                      },
                      "expensesGeneralLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string"
                      },
                      "createdOn": "string",
                      "createdBy": "string",
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "creditMemoId": 0
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos/custom-fields": {
      "get": {
        "tags": [
          "CreditMemos"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for credit memos",
        "operationId": "CreditMemos_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "CreditMemos"
        ],
        "summary": "Update custom fields for specified credit memos",
        "operationId": "CreditMemos_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos/{id}": {
      "patch": {
        "tags": [
          "CreditMemos"
        ],
        "operationId": "CreditMemos_UpdateCreditMemo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoUpdatePublicRequest"
              },
              "example": {
                "active": true,
                "summary": "string",
                "date": "string",
                "businessUnitId": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoUpdatePublicResponse"
                },
                "example": {
                  "id": 0,
                  "active": true,
                  "summary": "string",
                  "date": "string",
                  "businessUnitId": 0
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos/{id}/splits": {
      "post": {
        "tags": [
          "CreditMemos"
        ],
        "operationId": "CreditMemos_AddCreditMemoSplits",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoAddSplitsPublicRequest"
              },
              "example": {
                "splits": [
                  {
                    "invoiceId": 0,
                    "amount": 0
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoAddSplitsPublicResponse"
                },
                "example": {
                  "id": 0,
                  "splits": [
                    {
                      "invoiceId": 0,
                      "amount": 0
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/credit-memos/markasexported": {
      "post": {
        "tags": [
          "CreditMemos"
        ],
        "summary": "mark credit memo as exported. Id = creditMemoId",
        "operationId": "CreditMemos_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Accounting.V2.CreditMemos.MarkCreditMemoAsExportedRequest"
                }
              },
              "example": [
                {
                  "creditMemoId": 0,
                  "externalId": "string",
                  "externalMessage": "string"
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.CreditMemos.MarkCreditMemoAsExportedResponse"
                  }
                },
                "example": [
                  {
                    "creditMemoId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.creditmemos:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/bank-deposits": {
      "get": {
        "tags": [
          "Deposits"
        ],
        "summary": "Gets a paginated list of deposits",
        "operationId": "Deposits_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Perform lookup by multiple IDs (maximum 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "depositDateBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "depositDateOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "reviewedBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "reviewedOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "reviewStatus",
            "in": "query",
            "description": "Values: [NeedsReview, Reviewed]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.DepositReviewStatus"
                }
              ]
            }
          },
          {
            "name": "depositStatus",
            "in": "query",
            "description": "Values: [Undefined, Open, Deposited]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.DepositStatus"
                }
              ]
            }
          },
          {
            "name": "syncStatus",
            "in": "query",
            "description": "Values: [Pending, Posted, Exported]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.SyncStatus"
                }
              ]
            }
          },
          {
            "name": "grossAmountGreater",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "grossAmountLess",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field:\\\n\"?sort=+FieldName\" for ascending order,\\\n\"?sort=-FieldName\" for descending order.\\",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.DetailedDepositResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "depositStatus": "string",
                      "syncStatus": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "createdOn": "string",
                      "createdBy": "string",
                      "modifiedOn": "string",
                      "active": true,
                      "importId": "string",
                      "depositDate": "string",
                      "reviewStatus": "string",
                      "reviewedOn": "string",
                      "grossAmount": 0,
                      "netAmount": 0,
                      "fees": 0,
                      "bankAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "feeAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.bankdeposits:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/bank-deposits/{id}/transactions": {
      "get": {
        "tags": [
          "Deposits"
        ],
        "summary": "Gets a paginated list of transactions",
        "operationId": "Deposits_GetTransactionsList",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.DetailedTransactionResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "syncStatus": "string",
                      "referenceNumber": "string",
                      "date": "string",
                      "type": "string",
                      "typeId": "string",
                      "total": "string",
                      "unappliedAmount": "string",
                      "memo": "string",
                      "userMemo": "string",
                      "systemMemo": "string",
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "deposit": {
                        "id": 0,
                        "name": "string"
                      },
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "createdBy": "string",
                      "generalLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "appliedTo": [
                        {
                          "appliedAmount": "string",
                          "appliedBy": "string",
                          "appliedId": 0,
                          "appliedOn": "string",
                          "appliedTo": 0,
                          "appliedToReferenceNumber": "string"
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "authCode": "string",
                      "checkNumber": "string",
                      "modifiedOn": "string",
                      "createdOn": "string",
                      "active": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.bankdeposits:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/bank-deposits/markasexported": {
      "post": {
        "tags": [
          "Deposits"
        ],
        "summary": "Marks deposits as exported",
        "operationId": "Deposits_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.MarkDepositsAsExportedRequestArgs"
              },
              "example": {
                "ids": [
                  0
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.bankdeposits:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/expense-transactions": {
      "get": {
        "tags": [
          "ExpenseTransactions"
        ],
        "summary": "Returns a paginated list of expense transactions matching the filter criteria.",
        "operationId": "ExpenseTransactions_GetListPaginated",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-separated list of specific expense transaction IDs to retrieve.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "description": "Filter by specific batch ID.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "description": "Filter by batch number.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Filter by expense transaction number (partial match).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobNumber",
            "in": "query",
            "description": "Filter by job number (partial match).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vendorName",
            "in": "query",
            "description": "Filter by vendor name (partial match) — e.g. to check whether a vendor already exists in an external system.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "description": "Comma-separated list of business unit IDs to filter by.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalSources",
            "in": "query",
            "description": "Comma-separated list of originating systems to filter by (e.g. Ramp, Manual).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Filter by the employee associated with the expense.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "description": "Filter by sync status values.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.ExpenseSyncStatus"
              }
            }
          },
          {
            "name": "expenseStatuses",
            "in": "query",
            "description": "Filter by expense status values. Passing NotSet returns HTTP 400 —\nNotSet is an internal sentinel, not a filterable value.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.ExpenseStatusResponse"
              }
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Filter expenses with transaction date on or after this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "Filter expenses with transaction date before this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "minCost",
            "in": "query",
            "description": "Filter expenses with total cost greater than or equal to this value.",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "maxCost",
            "in": "query",
            "description": "Filter expenses with total cost less than or equal to this value.",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.ExpenseTransactionResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "expenseTransactionId": "string",
                      "number": "string",
                      "date": "string",
                      "total": "string",
                      "tax": "string",
                      "shipping": "string",
                      "summary": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "syncStatus": "string",
                      "expenseStatus": "string",
                      "needsReview": true,
                      "providerRequirementsMet": true,
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "job": {
                        "id": 0,
                        "name": "string"
                      },
                      "project": {
                        "id": 0,
                        "name": "string"
                      },
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "debitAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "creditCardAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "isRefund": true,
                      "reversesExpenseTransactionId": "string",
                      "cardNumberLast4": "string",
                      "externalSource": "string",
                      "externalId": "string",
                      "employeeId": 0,
                      "merchantCategory": "string",
                      "receiptStatus": "string",
                      "lineItems": [
                        {
                          "id": 0,
                          "description": "string",
                          "amount": "string",
                          "quantity": "string",
                          "unitPrice": "string",
                          "glAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "businessUnit": {
                            "id": 0,
                            "name": "string"
                          },
                          "job": {
                            "id": 0,
                            "name": "string"
                          },
                          "project": {
                            "id": 0,
                            "name": "string"
                          },
                          "projectLabelIds": [
                            0
                          ]
                        }
                      ],
                      "accountingFields": [
                        {
                          "erpFieldId": "string",
                          "erpFieldName": "string",
                          "fieldCategory": "string",
                          "fieldDestination": "string",
                          "dataType": "string",
                          "optionName": "string",
                          "erpOptionCode": "string",
                          "freeFormValue": "string"
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid filter (e.g., ExpenseStatuses=NotSet is not allowed).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.expensetransactions:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/expense-transactions/{expenseId}": {
      "get": {
        "tags": [
          "ExpenseTransactions"
        ],
        "summary": "Returns a single expense transaction by its unique identifier.",
        "operationId": "ExpenseTransactions_GetById",
        "parameters": [
          {
            "name": "expenseId",
            "in": "path",
            "description": "The unique identifier of the expense transaction.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the expense transaction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.ExpenseTransactionResponse"
                },
                "example": {
                  "id": 0,
                  "expenseTransactionId": "string",
                  "number": "string",
                  "date": "string",
                  "total": "string",
                  "tax": "string",
                  "shipping": "string",
                  "summary": "string",
                  "createdOn": "string",
                  "modifiedOn": "string",
                  "syncStatus": "string",
                  "expenseStatus": "string",
                  "needsReview": true,
                  "providerRequirementsMet": true,
                  "vendor": {
                    "id": 0,
                    "name": "string"
                  },
                  "businessUnit": {
                    "id": 0,
                    "name": "string"
                  },
                  "job": {
                    "id": 0,
                    "name": "string"
                  },
                  "project": {
                    "id": 0,
                    "name": "string"
                  },
                  "batch": {
                    "id": 0,
                    "number": "string",
                    "name": "string"
                  },
                  "debitAccount": {
                    "id": 0,
                    "name": "string",
                    "number": "string",
                    "type": "string",
                    "detailType": "string"
                  },
                  "creditCardAccount": {
                    "id": 0,
                    "name": "string",
                    "number": "string",
                    "type": "string",
                    "detailType": "string"
                  },
                  "isRefund": true,
                  "reversesExpenseTransactionId": "string",
                  "cardNumberLast4": "string",
                  "externalSource": "string",
                  "externalId": "string",
                  "employeeId": 0,
                  "merchantCategory": "string",
                  "receiptStatus": "string",
                  "lineItems": [
                    {
                      "id": 0,
                      "description": "string",
                      "amount": "string",
                      "quantity": "string",
                      "unitPrice": "string",
                      "glAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "job": {
                        "id": 0,
                        "name": "string"
                      },
                      "project": {
                        "id": 0,
                        "name": "string"
                      },
                      "projectLabelIds": [
                        0
                      ]
                    }
                  ],
                  "accountingFields": [
                    {
                      "erpFieldId": "string",
                      "erpFieldName": "string",
                      "fieldCategory": "string",
                      "fieldDestination": "string",
                      "dataType": "string",
                      "optionName": "string",
                      "erpOptionCode": "string",
                      "freeFormValue": "string"
                    }
                  ],
                  "customFields": [
                    {
                      "name": "string",
                      "value": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "404": {
            "description": "Expense transaction with the specified ID was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.expensetransactions:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/expense-transactions/custom-fields": {
      "get": {
        "tags": [
          "ExpenseTransactions"
        ],
        "summary": "Returns a paginated list of custom-field type definitions available for expense transactions.\nScoped to CustomFieldOwnerType.Expense — definitions for other owner types (e.g. Bill)\nare excluded. Read access is gateway-enforced via ViewExpenseTransactions.",
        "operationId": "ExpenseTransactions_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the custom-field types.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.expensetransactions:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "ExpenseTransactions"
        ],
        "summary": "Updates custom-field values on one or more expense transactions. All-or-nothing: the whole\nrequest runs inside a single transaction, so either every update persists or none does. A\nnon-existent custom field, or a non-existent or cross-tenant expense id, leaves the data\nunchanged and surfaces as 422 ",
        "operationId": "ExpenseTransactions_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "The custom-field update request containing expense ids and field values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated custom fields on the specified expenses."
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "422": {
            "description": "A referenced custom field or expense id was invalid (or a not-yet-Posted expense was marked exported) — nothing was persisted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.expensetransactions:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/expense-transactions/markasexported": {
      "post": {
        "tags": [
          "ExpenseTransactions"
        ],
        "summary": "Marks one or more expense transactions as exported. Each ID is evaluated independently:\nan eligible (Posted) expense transitions to Exported; an expense that is not found or not\nin the Posted state returns a failure row. Mixed requests do not throw.",
        "operationId": "ExpenseTransactions_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing expense transaction IDs to mark as exported.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.MarkExpensesAsExportedRequest"
              },
              "example": {
                "expenseIds": [
                  0
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed the request for all expense IDs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.MarkExpenseAsExportedResponse"
                  }
                },
                "example": [
                  {
                    "expenseId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Invalid request data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.expensetransactions:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/export/invoices": {
      "get": {
        "tags": [
          "Export"
        ],
        "summary": "Provides export feed for invoices",
        "operationId": "Export_Invoices",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Continuation token received from previous export request in \"continueFrom\" field.\nWhen not specified, the export process starts from the beginning.\\\nUse custom date strings, e.g. \"2020-01-01\" to start the export process from the certain point in time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeRecentChanges",
            "in": "query",
            "description": "Use \"true\" to start receiving the most recent changes quicker.\nNote this may cause the same results appearing multiple times on consecutive requests.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportResponse_Of_Accounting.V2.ExportInvoiceResponse"
                },
                "example": {
                  "hasMore": true,
                  "continueFrom": "string",
                  "data": [
                    {
                      "summary": "string",
                      "items": [
                        {
                          "id": 0,
                          "description": "string",
                          "quantity": "string",
                          "cost": "string",
                          "totalCost": "string",
                          "budgetCodeId": 0,
                          "inventoryLocationId": 0,
                          "inventoryLocation": "string",
                          "price": "string",
                          "type": "Service",
                          "skuName": "string",
                          "skuId": 0,
                          "total": "string",
                          "inventory": true,
                          "taxable": true,
                          "isChargeable": true,
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "costOfSaleAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "assetAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "membershipTypeId": 0,
                          "itemGroup": {
                            "rootId": 0,
                            "name": "string"
                          },
                          "displayName": "string",
                          "soldHours": 0,
                          "createdOn": "string",
                          "modifiedOn": "string",
                          "serviceDate": "string",
                          "order": 0,
                          "businessUnit": {
                            "id": 0,
                            "name": "string"
                          },
                          "createdById": 0,
                          "displayInAmount": true,
                          "importId": "string",
                          "exportId": "string",
                          "inventoryStatus": "string",
                          "addOn": true,
                          "memberPrice": "string",
                          "technicianId": 0,
                          "installedEquipmentId": 0,
                          "estimateItemId": 0
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "active": true,
                      "discountTotal": "string",
                      "importId": "string",
                      "exportId": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "materialSkuId": 0,
                      "membershipId": 0,
                      "paidOn": "string",
                      "invoiceConfiguration": "JobInvoice",
                      "rateSheetId": 0,
                      "id": 0,
                      "syncStatus": "string",
                      "budgetCodeId": 0,
                      "referenceNumber": "string",
                      "invoiceDate": "string",
                      "dueDate": "string",
                      "subTotal": "string",
                      "salesTax": "string",
                      "salesTaxCode": {
                        "id": 0,
                        "name": "string",
                        "taxRate": 0
                      },
                      "taxZoneId": 0,
                      "total": "string",
                      "balance": "string",
                      "invoiceType": {
                        "id": 0,
                        "name": "string"
                      },
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "customerAddress": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "location": {
                        "id": 0,
                        "name": "string"
                      },
                      "locationAddress": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "termName": "string",
                      "createdBy": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "depositedOn": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "adjustmentToId": 0,
                      "job": {
                        "id": 0,
                        "number": "string",
                        "type": "string"
                      },
                      "projectId": 0,
                      "royalty": {
                        "status": "string",
                        "date": "string",
                        "sentOn": "string",
                        "memo": "string"
                      },
                      "employeeInfo": {
                        "id": 0,
                        "name": "string",
                        "modifiedOn": "string"
                      },
                      "commissionEligibilityDate": "string",
                      "sentStatus": "NotSent",
                      "reviewStatus": "NeedsReview",
                      "reviewedOn": "string",
                      "assignedTo": {
                        "id": 0,
                        "name": "string"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/export/invoice-items": {
      "get": {
        "tags": [
          "Export"
        ],
        "summary": "Provides export feed for invoice items",
        "operationId": "Export_InvoiceItems",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Continuation token received from previous export request in \"continueFrom\" field.\nWhen not specified, the export process starts from the beginning.\\\nUse custom date strings, e.g. \"2020-01-01\" to start the export process from the certain point in time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeRecentChanges",
            "in": "query",
            "description": "Use \"true\" to start receiving the most recent changes quicker.\nNote this may cause the same results appearing multiple times on consecutive requests.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportResponse_Of_Accounting.V2.ExportInvoiceItemResponse"
                },
                "example": {
                  "hasMore": true,
                  "continueFrom": "string",
                  "data": [
                    {
                      "id": 0,
                      "description": "string",
                      "quantity": "string",
                      "cost": "string",
                      "totalCost": "string",
                      "budgetCodeId": 0,
                      "inventoryLocationId": 0,
                      "inventoryLocation": "string",
                      "price": "string",
                      "type": "Service",
                      "skuName": "string",
                      "skuId": 0,
                      "total": "string",
                      "inventory": true,
                      "taxable": true,
                      "isChargeable": true,
                      "generalLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "costOfSaleAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "assetAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "membershipTypeId": 0,
                      "itemGroup": {
                        "rootId": 0,
                        "name": "string"
                      },
                      "displayName": "string",
                      "soldHours": 0,
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "serviceDate": "string",
                      "order": 0,
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "createdById": 0,
                      "displayInAmount": true,
                      "importId": "string",
                      "exportId": "string",
                      "inventoryStatus": "string",
                      "addOn": true,
                      "memberPrice": "string",
                      "technicianId": 0,
                      "installedEquipmentId": 0,
                      "estimateItemId": 0,
                      "active": true,
                      "invoiceId": 0
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoiceitems:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/export/payments": {
      "get": {
        "tags": [
          "Export"
        ],
        "summary": "Provides export feed for payments",
        "operationId": "Export_Payments",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Continuation token received from previous export request in \"continueFrom\" field.\nWhen not specified, the export process starts from the beginning.\\\nUse custom date strings, e.g. \"2020-01-01\" to start the export process from the certain point in time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeRecentChanges",
            "in": "query",
            "description": "Use \"true\" to start receiving the most recent changes quicker.\nNote this may cause the same results appearing multiple times on consecutive requests.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportResponse_Of_Accounting.V2.ExportPaymentResponse"
                },
                "example": {
                  "hasMore": true,
                  "continueFrom": "string",
                  "data": [
                    {
                      "active": true,
                      "appliedTo": [
                        {
                          "appliedAmount": "string",
                          "appliedBy": "string",
                          "appliedId": 0,
                          "appliedOn": "string",
                          "appliedTo": 0,
                          "appliedToReferenceNumber": "string"
                        }
                      ],
                      "authCode": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "checkNumber": "string",
                      "createdBy": "string",
                      "createdOn": "string",
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "date": "string",
                      "deposit": {
                        "id": 0,
                        "name": "string"
                      },
                      "generalLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "id": 0,
                      "memo": "string",
                      "userMemo": "string",
                      "systemMemo": "string",
                      "modifiedOn": "string",
                      "referenceNumber": "string",
                      "refundedPaymentId": 0,
                      "syncStatus": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "total": "string",
                      "type": "string",
                      "typeId": "string",
                      "unappliedAmount": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.payments:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/export/inventory-bills": {
      "get": {
        "tags": [
          "Export"
        ],
        "summary": "Provides export feed for inventory bills",
        "operationId": "Export_InventoryBills",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Continuation token received from previous export request in \"continueFrom\" field.\nWhen not specified, the export process starts from the beginning.\\\nUse custom date strings, e.g. \"2020-01-01\" to start the export process from the certain point in time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeRecentChanges",
            "in": "query",
            "description": "Use \"true\" to start receiving the most recent changes quicker.\nNote this may cause the same results appearing multiple times on consecutive requests.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportResponse_Of_Accounting.V2.ExportInventoryBillResponse"
                },
                "example": {
                  "hasMore": true,
                  "continueFrom": "string",
                  "data": [
                    {
                      "id": 0,
                      "purchaseOrderId": 0,
                      "syncStatus": "string",
                      "referenceNumber": "string",
                      "vendorNumber": "string",
                      "summary": "string",
                      "billDate": "string",
                      "billAmount": "string",
                      "taxAmount": "string",
                      "shippingAmount": "string",
                      "landedCostMethod": "None",
                      "otherAmount": "string",
                      "createdBy": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "termName": "string",
                      "dueDate": "string",
                      "shipToDescription": "string",
                      "postDate": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "taxZone": {
                        "id": 0,
                        "name": "string"
                      },
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "shipTo": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "budgetCodeId": 0,
                      "items": [
                        {
                          "order": 0,
                          "name": "string",
                          "description": "string",
                          "quantity": "string",
                          "cost": "string",
                          "allocatedTax": "string",
                          "allocatedShipping": "string",
                          "allocatedOtherCosts": "string",
                          "fullyLandedUnitCost": "string",
                          "inventoryLocation": "string",
                          "serialNumber": "string",
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "costOfSaleAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "assetAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "id": 0,
                          "skuId": 0,
                          "receiptItemId": 0,
                          "skuType": "string",
                          "skuCode": "string",
                          "budgetCodeId": 0
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "jobId": 0,
                      "jobNumber": "string",
                      "dateReconciled": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "active": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.inventorybills:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/gl-accounts": {
      "get": {
        "tags": [
          "GlAccounts"
        ],
        "summary": "Retrieves General Ledger accounts that match the given criteria",
        "operationId": "GlAccounts_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-delimited list of account IDs, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "names",
            "in": "query",
            "description": "Comma-delimited list of account names, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "numbers",
            "in": "query",
            "description": "Comma-delimited list of account numbers, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "description": "Comma-delimited list of account types, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtypes",
            "in": "query",
            "description": "Comma-delimited list of account subtypes, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "A substring that must be contained in the account description",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "source",
            "in": "query",
            "description": "Account source\\\nValues: [Undefined, AccountingSystem, ManuallyCreated, PublicApi]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.GeneralLedgerAccountSource"
                }
              ]
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "Specify if only active accounts, only inactive accounts, or both, should be retrieved.\nBy default, only active accounts will be retrieved.\\\nValues: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "isIntacctGroup",
            "in": "query",
            "description": "Set to true to retrieve Intacct group accounts only",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isIntacctBankAccount",
            "in": "query",
            "description": "Set to true to retrieve Intacct bank accounts only",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by specified fields",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A collection of General Ledger accounts that match the given criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.GlAccountExtendedResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "number": "string",
                      "externalId": "string",
                      "description": "string",
                      "type": "string",
                      "subtype": "string",
                      "active": true,
                      "isIntacctGroup": true,
                      "isIntacctBankAccount": true,
                      "source": "Undefined",
                      "defaultAccountType": {},
                      "isIntacctGlGroup": true,
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.glaccounts:r"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "GlAccounts"
        ],
        "summary": "Creates a new General Ledger account",
        "operationId": "GlAccounts_CreateAccount",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.GlAccountCreateRequest"
              },
              "example": {
                "name": "string",
                "number": "string",
                "description": "string",
                "type": "string",
                "subtype": "string"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "New General Ledger account has been created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.GlAccountExtendedResponse"
                },
                "example": {
                  "id": 0,
                  "name": "string",
                  "number": "string",
                  "externalId": "string",
                  "description": "string",
                  "type": "string",
                  "subtype": "string",
                  "active": true,
                  "isIntacctGroup": true,
                  "isIntacctBankAccount": true,
                  "source": "Undefined",
                  "defaultAccountType": {},
                  "isIntacctGlGroup": true,
                  "createdOn": "string",
                  "modifiedOn": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "409": {
            "description": "Another General Ledger account with the same name already exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.glaccounts:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/gl-accounts/well-known": {
      "get": {
        "tags": [
          "GlAccounts"
        ],
        "summary": "Retrieves the tenant's well-known General Ledger accounts (CreditCardPayable, UncategorizedExpense),\nresolved by the authoritative default-account mapping rather than by free-text account type.",
        "operationId": "GlAccounts_GetWellKnownAccounts",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The tenant's well-known account ids; each is null when unconfigured or not enabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.WellKnownAccountsResponse"
                },
                "example": {
                  "creditCardPayableAccountId": 0,
                  "uncategorizedExpenseAccountId": 0
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.glaccounts:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/gl-accounts/{accountId}": {
      "get": {
        "tags": [
          "GlAccounts"
        ],
        "summary": "Retrieves single General Ledger account by account id",
        "operationId": "GlAccounts_GetAccount",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "Long integer id of the General Ledger account to be retrieved",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "General Ledger account data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.GlAccountExtendedResponse"
                },
                "example": {
                  "id": 0,
                  "name": "string",
                  "number": "string",
                  "externalId": "string",
                  "description": "string",
                  "type": "string",
                  "subtype": "string",
                  "active": true,
                  "isIntacctGroup": true,
                  "isIntacctBankAccount": true,
                  "source": "Undefined",
                  "defaultAccountType": {},
                  "isIntacctGlGroup": true,
                  "createdOn": "string",
                  "modifiedOn": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "404": {
            "description": "Active General Ledger account with this id is not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.glaccounts:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "GlAccounts"
        ],
        "summary": "Updates General Ledger account",
        "description": "This method can also deactivate the account, which acts as a temporary soft delete. There is no way to permanently delete an account.",
        "operationId": "GlAccounts_UpdateAccount",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "Long integer id of the General Ledger account to be updated",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "General Ledger account data that must be updated",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.GlAccountUpdateRequest"
              },
              "example": {
                "name": "string",
                "number": "string",
                "description": "string",
                "type": "string",
                "subtype": "string",
                "active": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated General Ledger account data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.GlAccountExtendedResponse"
                },
                "example": {
                  "id": 0,
                  "name": "string",
                  "number": "string",
                  "externalId": "string",
                  "description": "string",
                  "type": "string",
                  "subtype": "string",
                  "active": true,
                  "isIntacctGroup": true,
                  "isIntacctBankAccount": true,
                  "source": "Undefined",
                  "defaultAccountType": {},
                  "isIntacctGlGroup": true,
                  "createdOn": "string",
                  "modifiedOn": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "404": {
            "description": "Active General Ledger account with this id is not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "409": {
            "description": "General Ledger account cannot be deactivated because it's in use",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.glaccounts:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/gl-accounts/types": {
      "get": {
        "tags": [
          "GlAccounts"
        ],
        "summary": "Retrieves General Ledger account types that match the given criteria",
        "operationId": "GlAccounts_GetTypeList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-delimited list of account type IDs, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "names",
            "in": "query",
            "description": "Comma-delimited list of account type names, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "What kind of items should be returned (only active items will be returned by default)\\\nValues: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by specified fields",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A collection of General Ledger account types that match the given criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.GlAccountTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "parentTypeId": 0,
                      "name": "string",
                      "active": true,
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.glaccounts:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/inventory-bills": {
      "get": {
        "tags": [
          "InventoryBills"
        ],
        "operationId": "InventoryBills_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "billNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "jobNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchaseOrderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchaseOrderTypes",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.InventoryBillSyncStatus"
              }
            }
          },
          {
            "name": "minCost",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "maxCost",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "billType",
            "in": "query",
            "description": "Values: [NotSet, Procurement, ApBill, RecurringBill]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.BillType"
                }
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateReconciledBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateReconciledOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "threeWayMatchDiscrepancy",
            "in": "query",
            "description": "Values: [NoDiscrepancy, Discrepancy]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.InventoryBillThreeWayMatchDiscrepancy"
                }
              ]
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.InventoryBillResponse"
                  }
                },
                "example": [
                  {
                    "id": 0,
                    "purchaseOrderId": 0,
                    "syncStatus": "string",
                    "referenceNumber": "string",
                    "vendorNumber": "string",
                    "summary": "string",
                    "billDate": "string",
                    "billAmount": "string",
                    "taxAmount": "string",
                    "shippingAmount": "string",
                    "landedCostMethod": "None",
                    "otherAmount": "string",
                    "createdBy": "string",
                    "createdOn": "string",
                    "modifiedOn": "string",
                    "termName": "string",
                    "dueDate": "string",
                    "shipToDescription": "string",
                    "postDate": "string",
                    "batch": {
                      "id": 0,
                      "number": "string",
                      "name": "string"
                    },
                    "businessUnit": {
                      "id": 0,
                      "name": "string"
                    },
                    "taxZone": {
                      "id": 0,
                      "name": "string"
                    },
                    "vendor": {
                      "id": 0,
                      "name": "string"
                    },
                    "shipTo": {
                      "street": "string",
                      "unit": "string",
                      "city": "string",
                      "state": "string",
                      "zip": "string",
                      "country": "string"
                    },
                    "budgetCodeId": 0,
                    "items": [
                      {
                        "order": 0,
                        "name": "string",
                        "description": "string",
                        "quantity": "string",
                        "cost": "string",
                        "allocatedTax": "string",
                        "allocatedShipping": "string",
                        "allocatedOtherCosts": "string",
                        "fullyLandedUnitCost": "string",
                        "inventoryLocation": "string",
                        "serialNumber": "string",
                        "generalLedgerAccount": {
                          "id": 0,
                          "name": "string",
                          "number": "string",
                          "type": "string",
                          "detailType": "string"
                        },
                        "costOfSaleAccount": {
                          "id": 0,
                          "name": "string",
                          "number": "string",
                          "type": "string",
                          "detailType": "string"
                        },
                        "assetAccount": {
                          "id": 0,
                          "name": "string",
                          "number": "string",
                          "type": "string",
                          "detailType": "string"
                        },
                        "id": 0,
                        "skuId": 0,
                        "receiptItemId": 0,
                        "skuType": "string",
                        "skuCode": "string",
                        "budgetCodeId": 0
                      }
                    ],
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ],
                    "jobId": 0,
                    "jobNumber": "string",
                    "dateReconciled": "string",
                    "exportSubstatus": {
                      "type": {},
                      "setOn": "string",
                      "setByUserId": 0
                    }
                  }
                ]
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.inventorybills:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/inventory-bills/paginated": {
      "get": {
        "tags": [
          "InventoryBills"
        ],
        "operationId": "InventoryBills_GetListPaginated",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "billNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "jobNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchaseOrderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchaseOrderTypes",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.InventoryBillSyncStatus"
              }
            }
          },
          {
            "name": "minCost",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "maxCost",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "billType",
            "in": "query",
            "description": "Values: [NotSet, Procurement, ApBill, RecurringBill]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.BillType"
                }
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateReconciledBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateReconciledOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "threeWayMatchDiscrepancy",
            "in": "query",
            "description": "Values: [NoDiscrepancy, Discrepancy]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.InventoryBillThreeWayMatchDiscrepancy"
                }
              ]
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.InventoryBillResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "purchaseOrderId": 0,
                      "syncStatus": "string",
                      "referenceNumber": "string",
                      "vendorNumber": "string",
                      "summary": "string",
                      "billDate": "string",
                      "billAmount": "string",
                      "taxAmount": "string",
                      "shippingAmount": "string",
                      "landedCostMethod": "None",
                      "otherAmount": "string",
                      "createdBy": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "termName": "string",
                      "dueDate": "string",
                      "shipToDescription": "string",
                      "postDate": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "taxZone": {
                        "id": 0,
                        "name": "string"
                      },
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "shipTo": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "budgetCodeId": 0,
                      "items": [
                        {
                          "order": 0,
                          "name": "string",
                          "description": "string",
                          "quantity": "string",
                          "cost": "string",
                          "allocatedTax": "string",
                          "allocatedShipping": "string",
                          "allocatedOtherCosts": "string",
                          "fullyLandedUnitCost": "string",
                          "inventoryLocation": "string",
                          "serialNumber": "string",
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "costOfSaleAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "assetAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "id": 0,
                          "skuId": 0,
                          "receiptItemId": 0,
                          "skuType": "string",
                          "skuCode": "string",
                          "budgetCodeId": 0
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "jobId": 0,
                      "jobNumber": "string",
                      "dateReconciled": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.inventorybills:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/inventory-bills/custom-fields": {
      "get": {
        "tags": [
          "InventoryBills"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for inventory bills",
        "operationId": "InventoryBills_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.inventorybills:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "InventoryBills"
        ],
        "operationId": "InventoryBills_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.inventorybills:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/inventory-bills/markasexported": {
      "post": {
        "tags": [
          "InventoryBills"
        ],
        "summary": "mark bill as exported. Id = inventoryBillId",
        "operationId": "InventoryBills_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.MarkInventoryBillAsExportedUpdateRequest"
              },
              "example": {
                "inventoryBillIds": [
                  0
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.MarkInventoryBillAsExportedUpdateResponse"
                  }
                },
                "example": [
                  {
                    "inventoryBillId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.inventorybills:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Retrieves a list of invoices.  By default, all invoices will be returned regardless of status.",
        "operationId": "Invoices_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-delimited list of invoice IDs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "activeState",
            "in": "query",
            "description": "Values: [ActiveOnly, InactiveOnly, All]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.Share.ActiveStateFilterType"
                }
              ]
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "description": "Transaction status, which can be one of: Pending, Posted, Exported.\nBy default, all transaction statuses are included.  If you want to filter by more\nthan one status, add a new \"statuses\" query parameter for each status you want to include.\nFor example: &statuses=Pending&statuses=Posted",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.TransactionStatus"
              }
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "description": "Batch ID associated with invoices.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "description": "Batch number associated with invoices.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "jobId",
            "in": "query",
            "description": "Job ID associated with invoices. This will be null if the invoice is not linked to a job.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "jobNumber",
            "in": "query",
            "description": "Job number associated with invoices. This will be null if the invoice is not linked to a job.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnitId",
            "in": "query",
            "description": "Business unit ID associated with invoices.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Customer ID associated with invoices.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "invoicedOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "invoicedOnBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "adjustmentToId",
            "in": "query",
            "description": "When searching for adjustment invoices, this field will search for invoices that are adjustments to the specified invoice ID.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Reference number associated with invoices.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "totalGreater",
            "in": "query",
            "description": "Retrieve all invoices with a total greater than or equal to the input value.",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "totalLess",
            "in": "query",
            "description": "Retrieve all invoices with a total less than or equal to the input value.",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "balanceFilter.Balance",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "balanceFilter.Comparer",
            "in": "query",
            "description": "Values: [Equals, NotEquals, Greater, Less]",
            "schema": {
              "$ref": "#/components/schemas/Accounting.V2.BalanceComparer"
            }
          },
          {
            "name": "dueDateBefore",
            "in": "query",
            "description": "Retrieve all invoices with a due date before the input value",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dueDateOnOrAfter",
            "in": "query",
            "description": "Retrieve all invoices with a due date on after or equal the input value",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "Field on which you want to order the returned list of invoices.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderByDirection",
            "in": "query",
            "description": "Order direction of the retuned list of invoices.  Values of \"desc\" or \"descending\" will order the list in descending order, otherwise the list will be ordered in ascending order.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reviewStatuses",
            "in": "query",
            "description": "Review statuses associated with invoices.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.InvoiceReviewStatus"
              }
            }
          },
          {
            "name": "assignedToIds",
            "in": "query",
            "description": "AssignedTo IDs associated with invoices.",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "invoiceConfigurations",
            "in": "query",
            "description": "Invoice configuration associated with invoices.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.InvoiceConfiguration"
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field:\\\n\"?sort=+FieldName\" for ascending order,\\\n\"?sort=-FieldName\" for descending order.\\",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.InvoiceResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "syncStatus": "string",
                      "budgetCodeId": 0,
                      "referenceNumber": "string",
                      "invoiceDate": "string",
                      "dueDate": "string",
                      "subTotal": "string",
                      "salesTax": "string",
                      "salesTaxCode": {
                        "id": 0,
                        "name": "string",
                        "taxRate": 0
                      },
                      "taxZoneId": 0,
                      "total": "string",
                      "balance": "string",
                      "invoiceType": {
                        "id": 0,
                        "name": "string"
                      },
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "customerAddress": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "location": {
                        "id": 0,
                        "name": "string"
                      },
                      "locationAddress": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "termName": "string",
                      "createdBy": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "depositedOn": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "adjustmentToId": 0,
                      "job": {
                        "id": 0,
                        "number": "string",
                        "type": "string"
                      },
                      "projectId": 0,
                      "royalty": {
                        "status": "string",
                        "date": "string",
                        "sentOn": "string",
                        "memo": "string"
                      },
                      "employeeInfo": {
                        "id": 0,
                        "name": "string",
                        "modifiedOn": "string"
                      },
                      "commissionEligibilityDate": "string",
                      "sentStatus": "NotSent",
                      "reviewStatus": "NeedsReview",
                      "reviewedOn": "string",
                      "assignedTo": {
                        "id": 0,
                        "name": "string"
                      },
                      "summary": "string",
                      "items": [
                        {
                          "id": 0,
                          "description": "string",
                          "quantity": "string",
                          "cost": "string",
                          "totalCost": "string",
                          "budgetCodeId": 0,
                          "inventoryLocationId": 0,
                          "inventoryLocation": "string",
                          "price": "string",
                          "type": "Service",
                          "skuName": "string",
                          "skuId": 0,
                          "total": "string",
                          "inventory": true,
                          "taxable": true,
                          "isChargeable": true,
                          "generalLedgerAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "costOfSaleAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "assetAccount": {
                            "id": 0,
                            "name": "string",
                            "number": "string",
                            "type": "string",
                            "detailType": "string"
                          },
                          "membershipTypeId": 0,
                          "itemGroup": {
                            "rootId": 0,
                            "name": "string"
                          },
                          "displayName": "string",
                          "soldHours": 0,
                          "createdOn": "string",
                          "modifiedOn": "string",
                          "serviceDate": "string",
                          "order": 0,
                          "businessUnit": {
                            "id": 0,
                            "name": "string"
                          },
                          "createdById": 0,
                          "displayInAmount": true,
                          "importId": "string",
                          "exportId": "string",
                          "inventoryStatus": "string",
                          "addOn": true,
                          "memberPrice": "string",
                          "technicianId": 0,
                          "installedEquipmentId": 0,
                          "estimateItemId": 0
                        }
                      ],
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "active": true,
                      "discountTotal": "string",
                      "importId": "string",
                      "exportId": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "materialSkuId": 0,
                      "membershipId": 0,
                      "paidOn": "string",
                      "invoiceConfiguration": "JobInvoice",
                      "rateSheetId": 0
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:r"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "create adjustment invoice",
        "operationId": "Invoices_CreateAdjustmentInvoice",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.AdjustmentInvoiceCreateRequest"
              },
              "example": {
                "number": "string",
                "typeId": 0,
                "invoicedOn": "string",
                "subtotal": 0,
                "tax": 0,
                "taxZoneId": 0,
                "summary": "string",
                "royaltyStatus": {},
                "royaltyDate": "string",
                "royaltySentOn": "string",
                "royaltyMemo": "string",
                "exportId": "string",
                "reviewStatus": {},
                "assignedToId": 0,
                "budgetCodeId": 0,
                "items": [
                  {
                    "skuId": 0,
                    "skuName": "string",
                    "technicianId": 0,
                    "description": "string",
                    "quantity": 0,
                    "unitPrice": 0,
                    "cost": 0,
                    "isAddOn": true,
                    "signature": "string",
                    "technicianAcknowledgementSignature": "string",
                    "installedOn": "string",
                    "inventoryWarehouseName": "string",
                    "skipUpdatingMembershipPrices": true,
                    "itemGroupName": "string",
                    "itemGroupRootId": 0,
                    "inventoryLocationId": 0,
                    "durationBillingId": 0,
                    "budgetCodeId": 0,
                    "id": 0,
                    "serviceDate": "string"
                  }
                ],
                "adjustmentToId": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                },
                "example": 0
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/custom-fields": {
      "patch": {
        "tags": [
          "Invoices"
        ],
        "summary": "Updates custom fields for specified invoices",
        "operationId": "Invoices_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for invoices",
        "operationId": "Invoices_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/{id}": {
      "patch": {
        "tags": [
          "Invoices"
        ],
        "summary": "update invoice",
        "operationId": "Invoices_UpdateInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.InvoiceUpdateRequest"
              },
              "example": {
                "number": "string",
                "typeId": 0,
                "invoicedOn": "string",
                "subtotal": 0,
                "tax": 0,
                "taxZoneId": 0,
                "summary": "string",
                "royaltyStatus": {},
                "royaltyDate": "string",
                "royaltySentOn": "string",
                "royaltyMemo": "string",
                "exportId": "string",
                "reviewStatus": {},
                "assignedToId": 0,
                "budgetCodeId": 0,
                "items": [
                  {
                    "skuId": 0,
                    "skuName": "string",
                    "technicianId": 0,
                    "description": "string",
                    "quantity": 0,
                    "unitPrice": 0,
                    "cost": 0,
                    "isAddOn": true,
                    "signature": "string",
                    "technicianAcknowledgementSignature": "string",
                    "installedOn": "string",
                    "inventoryWarehouseName": "string",
                    "skipUpdatingMembershipPrices": true,
                    "itemGroupName": "string",
                    "itemGroupRootId": 0,
                    "inventoryLocationId": 0,
                    "durationBillingId": 0,
                    "budgetCodeId": 0,
                    "id": 0,
                    "serviceDate": "string"
                  }
                ],
                "dueDate": "string",
                "payments": [
                  {
                    "id": 0,
                    "settlementStatus": {},
                    "settlementDate": "string"
                  }
                ],
                "rateSheetId": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/{invoiceId}/items": {
      "patch": {
        "tags": [
          "Invoices"
        ],
        "summary": "update invoice items",
        "operationId": "Invoices_UpdateInvoiceItems",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.InvoiceItemUpdateRequest"
              },
              "example": {
                "skuId": 0,
                "skuName": "string",
                "technicianId": 0,
                "description": "string",
                "quantity": 0,
                "unitPrice": 0,
                "cost": 0,
                "isAddOn": true,
                "signature": "string",
                "technicianAcknowledgementSignature": "string",
                "installedOn": "string",
                "inventoryWarehouseName": "string",
                "skipUpdatingMembershipPrices": true,
                "itemGroupName": "string",
                "itemGroupRootId": 0,
                "inventoryLocationId": 0,
                "durationBillingId": 0,
                "budgetCodeId": 0,
                "id": 0,
                "serviceDate": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/{invoiceId}/items/{itemId}": {
      "delete": {
        "tags": [
          "Invoices"
        ],
        "summary": "delete invoice item",
        "operationId": "Invoices_DeleteInvoiceItem",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/markasexported": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "mark invoice as exported. Id = invoiceId",
        "operationId": "Invoices_MarkAsExported",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Accounting.V2.MarkInvoiceAsExportedUpdateRequest"
                }
              },
              "example": [
                {
                  "invoiceId": 0,
                  "externalId": "string",
                  "externalMessage": "string"
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Accounting.V2.MarkInvoiceAsExportedUpdateResponse"
                  }
                },
                "example": [
                  {
                    "invoiceId": 0,
                    "success": true,
                    "errorMessage": "string"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/{invoiceId}/tasks": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "operationId": "Invoices_GetInvoiceTasks",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.GetInvoiceTasksResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "taskId": "string",
                      "type": "string",
                      "name": "string",
                      "status": "string",
                      "assigneeId": "string",
                      "dueDate": "string",
                      "description": "string",
                      "templateId": "string",
                      "reason": "string",
                      "relations": [
                        {
                          "type": "string",
                          "taskId": "string"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:r"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Creates an invoice task from a template",
        "operationId": "Invoices_CreateInvoiceTask",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CreateInvoiceTaskRequest"
              },
              "example": {
                "templateId": "string",
                "variables": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.CreateInvoiceTaskResponse"
                },
                "example": {
                  "executionId": "string",
                  "tasks": [
                    {
                      "taskId": "string",
                      "key": "string"
                    }
                  ],
                  "status": "string",
                  "errors": [
                    {
                      "message": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/invoices/{invoiceId}/tasks/{taskId}": {
      "patch": {
        "tags": [
          "Invoices"
        ],
        "summary": "Updates an invoice task",
        "operationId": "Invoices_UpdateInvoiceTask",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.UpdateInvoiceTaskRequest"
              },
              "example": {
                "name": "string",
                "status": "string",
                "assigneeId": "string",
                "dueDate": "string",
                "description": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.UpdateInvoiceTaskResponse"
                },
                "example": {
                  "taskId": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.invoices:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/journal-entries/{id}": {
      "get": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Gets a journal entry by ID",
        "operationId": "JournalEntries_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.JournalEntryResponse"
                },
                "example": {
                  "id": "string",
                  "createdOn": "string",
                  "modifiedOn": "string",
                  "number": 0,
                  "name": "string",
                  "source": "ServiceTitan",
                  "status": "Open",
                  "syncStatus": "NotSynced",
                  "versionId": 0,
                  "lastSyncVersionId": 0,
                  "message": "string",
                  "postDate": "string",
                  "exportedOn": "string",
                  "exportedBy": {
                    "id": 0,
                    "name": "string"
                  },
                  "customFields": [
                    {
                      "name": "string",
                      "value": "string"
                    }
                  ],
                  "url": "string",
                  "isEmpty": true
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:r"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Updates journal entry, supports only for external journal entry records.\nTo add a line, supply all the original lines along with the new one. To delete a line, supply only the lines you want to keep.",
        "operationId": "JournalEntries_FullUpdate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySaveRequest"
              },
              "example": {
                "name": "string",
                "status": "Open",
                "versionId": 0,
                "message": "string",
                "postDate": "string",
                "customFields": {},
                "lines": [
                  {
                    "postDate": "string",
                    "accountId": 0,
                    "debit": 0,
                    "credit": 0,
                    "memo": "string",
                    "quantity": 0,
                    "unitAmount": 0,
                    "externalObjects": [
                      {
                        "id": "string",
                        "type": "string",
                        "name": "string",
                        "url": "string"
                      }
                    ],
                    "businessUnitId": 0,
                    "customerId": 0,
                    "vendorId": 0,
                    "inventoryLocationId": 0,
                    "jobId": 0,
                    "customerLocationId": 0,
                    "paymentTypeId": 0,
                    "projectId": 0,
                    "budgetCodeId": 0,
                    "employeeId": 0,
                    "serviceAgreementId": 0,
                    "appliedTo": {
                      "id": 0,
                      "type": "Unspecified",
                      "refNumber": "string"
                    },
                    "sku": {
                      "id": 0,
                      "type": "Service"
                    },
                    "internalCostType": {}
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:w"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Deletes journal entry, supports only for external journal entry records.",
        "operationId": "JournalEntries_DeleteJournalEntry",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:w"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Updates a journal entry.",
        "operationId": "JournalEntries_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryUpdateRequest"
              },
              "example": {
                "status": {},
                "customFields": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.JournalEntryResponse"
                },
                "example": {
                  "id": "string",
                  "createdOn": "string",
                  "modifiedOn": "string",
                  "number": 0,
                  "name": "string",
                  "source": "ServiceTitan",
                  "status": "Open",
                  "syncStatus": "NotSynced",
                  "versionId": 0,
                  "lastSyncVersionId": 0,
                  "message": "string",
                  "postDate": "string",
                  "exportedOn": "string",
                  "exportedBy": {
                    "id": 0,
                    "name": "string"
                  },
                  "customFields": [
                    {
                      "name": "string",
                      "value": "string"
                    }
                  ],
                  "url": "string",
                  "isEmpty": true
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/journal-entries": {
      "get": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Gets a list of journal entries.",
        "operationId": "JournalEntries_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Comma-delimited list of journal entry IDs, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exportedFrom",
            "in": "query",
            "description": "Exported on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "exportedTo",
            "in": "query",
            "description": "Exported on or before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "postedFrom",
            "in": "query",
            "description": "Posted on or after certain date (time is ignored)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "postedTo",
            "in": "query",
            "description": "Posted on or before certain date (time is ignored)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "exportedBy",
            "in": "query",
            "description": "Comma-delimited list of user IDs, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name contains",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "numberFrom",
            "in": "query",
            "description": "Number is greater or equal than",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "numberTo",
            "in": "query",
            "description": "Number is less or equal to",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "description": "Array of statuses",
            "schema": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryPostingStatus"
              }
            }
          },
          {
            "name": "syncStatuses",
            "in": "query",
            "description": "Array of sync statuses",
            "schema": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySyncStatus"
              }
            }
          },
          {
            "name": "transactionPostedFrom",
            "in": "query",
            "description": "Contains a transaction posted on or after certain date (time is ignored)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "transactionPostedTo",
            "in": "query",
            "description": "Contains a transaction posted on or before certain date (time is ignored)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "description": "Comma-delimited list of business unit IDs, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serviceAgreementIds",
            "in": "query",
            "description": "Comma-delimited list of service agreement IDs, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerName",
            "in": "query",
            "description": "Contains a transaction for a customer with name containing",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "locationName",
            "in": "query",
            "description": "Contains a transaction for a customer location with name containing",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "vendorName",
            "in": "query",
            "description": "Contains a transaction for a vendor with name containing",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "inventoryLocationName",
            "in": "query",
            "description": "Contains a transaction for an inventory location with name containing",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "refNumber",
            "in": "query",
            "description": "Comma-delimited list of reference numbers, maximum 50 items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionTypes",
            "in": "query",
            "description": "List of transaction types.\\\nA journal entry will be returned if it contains at least one transaction of this type.",
            "schema": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryTransactionType"
              }
            }
          },
          {
            "name": "customField",
            "in": "query",
            "description": "Filter by custom fields associated with journal entries.\\\nExample: ?customField.fieldName1=value1&customField.fieldName2=value2\\\nA field with null value, and a non-existent field are treated equally.\\\nMaximum 5 custom fields are supported in one request.",
            "schema": {
              "maxProperties": 5,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "empty",
            "in": "query",
            "description": "Indicates whether empty journal entries should be included in journal entry query results.\\\nThis argument doesn't have effect when journal entries are requested by their ids,\\\nin which case empty journal entries are never excluded.\\\nValues: [IncludeExceptNotSynced, Include, Exclude]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.EmptyJeHandling"
                }
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field and direction.\\\nOptions: Id, Number, Name, Status, CreatedOn, ExportedOn, ExportedBy, PostDate.\\\nUse \"+\" for ascending order, and \"-\" for descending order.\\\nExample: \"?sort=-Number\" will sort by number in descending order.\\",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default). Maximum value is 500.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.JournalEntryPagingResponse_Of_Accounting.V2.JournalEntryResponse"
                },
                "example": {
                  "pageSize": 0,
                  "page": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": "string",
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "number": 0,
                      "name": "string",
                      "source": "ServiceTitan",
                      "status": "Open",
                      "syncStatus": "NotSynced",
                      "versionId": 0,
                      "lastSyncVersionId": 0,
                      "message": "string",
                      "postDate": "string",
                      "exportedOn": "string",
                      "exportedBy": {
                        "id": 0,
                        "name": "string"
                      },
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "url": "string",
                      "isEmpty": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:r"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Creates a new journal entry record, automatically marks it as external.",
        "operationId": "JournalEntries_CreateJournalEntry",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryCreateRequest"
              },
              "example": {
                "name": "string",
                "status": "Open",
                "versionId": 0,
                "message": "string",
                "postDate": "string",
                "customFields": {},
                "lines": [
                  {
                    "postDate": "string",
                    "accountId": 0,
                    "debit": 0,
                    "credit": 0,
                    "memo": "string",
                    "quantity": 0,
                    "unitAmount": 0,
                    "externalObjects": [
                      {
                        "id": "string",
                        "type": "string",
                        "name": "string",
                        "url": "string"
                      }
                    ],
                    "businessUnitId": 0,
                    "customerId": 0,
                    "vendorId": 0,
                    "inventoryLocationId": 0,
                    "jobId": 0,
                    "customerLocationId": 0,
                    "paymentTypeId": 0,
                    "projectId": 0,
                    "budgetCodeId": 0,
                    "employeeId": 0,
                    "serviceAgreementId": 0,
                    "appliedTo": {
                      "id": 0,
                      "type": "Unspecified",
                      "refNumber": "string"
                    },
                    "sku": {
                      "id": 0,
                      "type": "Service"
                    },
                    "internalCostType": {}
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/journal-entries/{id}/summary": {
      "get": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Gets a list of journal entry items aggregated by account and business unit.",
        "operationId": "JournalEntries_GetSummary",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default). Maximum value is 500.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.JournalEntryPagingResponse_Of_Accounting.V2.JournalEntrySummaryResponse"
                },
                "example": {
                  "pageSize": 0,
                  "page": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "postDate": "string",
                      "account": {
                        "id": 0,
                        "number": "string",
                        "name": "string",
                        "type": "string",
                        "subtype": "string"
                      },
                      "credit": 0,
                      "debit": 0,
                      "memo": "string",
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/journal-entries/{id}/details": {
      "get": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Gets a list of journal entry items aggregated by account, business unit, transaction and pricebook item.",
        "operationId": "JournalEntries_GetDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default). Maximum value is 500.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.JournalEntryPagingResponse_Of_Accounting.V2.JournalEntryDetailsResponse"
                },
                "example": {
                  "pageSize": 0,
                  "page": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "postDate": "string",
                      "account": {
                        "id": 0,
                        "number": "string",
                        "name": "string",
                        "type": "string",
                        "subtype": "string"
                      },
                      "debit": 0,
                      "credit": 0,
                      "memo": "string",
                      "quantity": 0,
                      "unitAmount": 0,
                      "externalObjects": [
                        {
                          "id": "string",
                          "type": "string",
                          "name": "string",
                          "url": "string"
                        }
                      ],
                      "transaction": {
                        "id": 0,
                        "type": "Unspecified",
                        "refNumber": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "vendor": {
                        "id": 0,
                        "name": "string"
                      },
                      "inventoryLocation": {
                        "id": 0,
                        "name": "string"
                      },
                      "job": {
                        "id": 0,
                        "number": "string"
                      },
                      "customerLocation": {
                        "id": 0,
                        "name": "string"
                      },
                      "paymentType": {
                        "id": 0,
                        "name": "string"
                      },
                      "project": {
                        "id": 0,
                        "number": "string"
                      },
                      "serviceAgreement": {
                        "id": 0,
                        "number": "string"
                      },
                      "appliedTo": {
                        "id": 0,
                        "type": "Unspecified",
                        "refNumber": "string"
                      },
                      "sku": {
                        "id": 0,
                        "type": {},
                        "code": "string"
                      },
                      "transactionDate": "string",
                      "budgetCodeId": 0,
                      "internalCostType": {}
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/journal-entries/{id}/sync": {
      "patch": {
        "tags": [
          "JournalEntries"
        ],
        "summary": "Updates a journal entry sync state.",
        "operationId": "JournalEntries_SyncUpdate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySyncUpdateRequest"
              },
              "example": {
                "syncStatus": {},
                "versionId": 0,
                "message": "string",
                "customFields": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.JournalEntryResponse"
                },
                "example": {
                  "id": "string",
                  "createdOn": "string",
                  "modifiedOn": "string",
                  "number": 0,
                  "name": "string",
                  "source": "ServiceTitan",
                  "status": "Open",
                  "syncStatus": "NotSynced",
                  "versionId": 0,
                  "lastSyncVersionId": 0,
                  "message": "string",
                  "postDate": "string",
                  "exportedOn": "string",
                  "exportedBy": {
                    "id": 0,
                    "name": "string"
                  },
                  "customFields": [
                    {
                      "name": "string",
                      "value": "string"
                    }
                  ],
                  "url": "string",
                  "isEmpty": true
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.journalentries:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payments": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Gets a paginated list of payments",
        "operationId": "Payments_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "activeState",
            "in": "query",
            "description": "Default: null (ActiveOnly)\n            \\\nValues: [ActiveOnly, InactiveOnly, All]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.Share.ActiveStateFilterType"
                }
              ]
            }
          },
          {
            "name": "appliedToInvoiceIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appliedToReferenceNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "businessUnitIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "customField.Fields",
            "in": "query",
            "description": "Dictionary of name-value pairs",
            "schema": {
              "maxProperties": 50,
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "customField.Operator",
            "in": "query",
            "description": "Operator to be used between the name-value pairs. Can be \"Or\" or \"And\", default is \"And\".\\\nValues: [And, Or]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.LogicalOperator"
                }
              ]
            }
          },
          {
            "name": "depositIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Perform lookup by multiple IDs (maximum 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "paidOnAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paidOnBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field:\\\n\"?sort=+FieldName\" for ascending order,\\\n\"?sort=-FieldName\" for descending order.\\\n            ",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "totalGreater",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "totalLess",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            }
          },
          {
            "name": "transactionType",
            "in": "query",
            "description": "Values: [Undefined, JournalEntry, ReceivePayment]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.PaymentTransactionType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.DetailedPaymentResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "active": true,
                      "appliedTo": [
                        {
                          "appliedAmount": "string",
                          "appliedBy": "string",
                          "appliedId": 0,
                          "appliedOn": "string",
                          "appliedTo": 0,
                          "appliedToReferenceNumber": "string"
                        }
                      ],
                      "authCode": "string",
                      "batch": {
                        "id": 0,
                        "number": "string",
                        "name": "string"
                      },
                      "businessUnit": {
                        "id": 0,
                        "name": "string"
                      },
                      "checkNumber": "string",
                      "createdBy": "string",
                      "createdOn": "string",
                      "customer": {
                        "id": 0,
                        "name": "string"
                      },
                      "customFields": [
                        {
                          "name": "string",
                          "value": "string"
                        }
                      ],
                      "date": "string",
                      "deposit": {
                        "id": 0,
                        "name": "string"
                      },
                      "generalLedgerAccount": {
                        "id": 0,
                        "name": "string",
                        "number": "string",
                        "type": "string",
                        "detailType": "string"
                      },
                      "id": 0,
                      "memo": "string",
                      "userMemo": "string",
                      "systemMemo": "string",
                      "modifiedOn": "string",
                      "referenceNumber": "string",
                      "refundedPaymentId": 0,
                      "syncStatus": "string",
                      "exportSubstatus": {
                        "type": {},
                        "setOn": "string",
                        "setByUserId": 0
                      },
                      "total": "string",
                      "type": "string",
                      "typeId": "string",
                      "unappliedAmount": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.payments:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payments/custom-fields": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Returns a paginated list of filtered custom field types available for payments",
        "operationId": "Payments_GetCustomFieldTypes",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters records by name (case-insensitive \"contains\" operation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dataType": "Text",
                      "dataTypeOptions": [
                        "string"
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.payments:r"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Payments"
        ],
        "summary": "Update custom fields for specified payments",
        "operationId": "Payments_UpdateCustomFields",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.CustomFieldUpdateRequest"
              },
              "example": {
                "operations": [
                  {
                    "objectId": 0,
                    "customFields": [
                      {
                        "name": "string",
                        "value": "string"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.payments:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payments/{id}": {
      "patch": {
        "tags": [
          "Payments"
        ],
        "summary": "Updates specified payment in \"patch\" mode",
        "operationId": "Payments_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.PaymentUpdateRequest"
              },
              "example": {
                "active": true,
                "authCode": "string",
                "checkNumber": "string",
                "exportId": "string",
                "memo": "string",
                "userMemo": "string",
                "paidOn": "string",
                "splits": [
                  {
                    "amount": 0,
                    "invoiceId": 0,
                    "invoiceNumber": "string"
                  }
                ],
                "status": "Pending",
                "typeId": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.PaymentResponse"
                },
                "example": {
                  "active": true,
                  "authCode": "string",
                  "checkNumber": "string",
                  "customerId": 0,
                  "exportId": "string",
                  "id": 0,
                  "memo": "string",
                  "userMemo": "string",
                  "paidOn": "string",
                  "splits": [
                    {
                      "amount": 0,
                      "invoiceId": 0,
                      "invoiceNumber": "string"
                    }
                  ],
                  "status": {},
                  "transactionStatus": {},
                  "typeId": 0
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.payments:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payments/status": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Updates payment status",
        "operationId": "Payments_UpdateStatus",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Accounting.V2.PaymentStatusBatchRequest"
              },
              "example": {
                "paymentIds": [
                  0
                ],
                "status": "Pending"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request has succeeded"
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.payments:w"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payment-terms/{paymentTermId}": {
      "get": {
        "tags": [
          "PaymentTerms"
        ],
        "summary": "Gets Payment Term",
        "operationId": "PaymentTerms_GetPaymentTermModel",
        "parameters": [
          {
            "name": "paymentTermId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.PaymentTermAPIModel"
                },
                "example": {
                  "id": 0,
                  "name": "string",
                  "dueDayType": "NumberOfDays",
                  "dueDay": 0,
                  "isCustomerDefault": true,
                  "isVendorDefault": true,
                  "active": true,
                  "inUse": true,
                  "modifiedOn": "string",
                  "createdOn": "string",
                  "paymentTermDiscountModel": {
                    "id": 0,
                    "discountApplyTo": {},
                    "discount": 0,
                    "discountType": {},
                    "account": "string",
                    "applyBy": {},
                    "applyByValue": 0
                  },
                  "interestSettings": {
                    "id": 0,
                    "rateType": "Flat",
                    "flatRateValue": 0,
                    "percentageRateValue": 0,
                    "chargeMethod": {},
                    "frequency": "Once",
                    "gracePeriod": 0,
                    "targetInvoices": [
                      "JobInvoices"
                    ],
                    "taskId": 0,
                    "taskDisplayName": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.paymentterms:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payment-terms": {
      "get": {
        "tags": [
          "PaymentTerms"
        ],
        "summary": "Gets a list of payment terms",
        "operationId": "PaymentTerms_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Perform lookup by multiple IDs (maximum 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field:\\\n\"?sort=+FieldName\" for ascending order,\\\n\"?sort=-FieldName\" for descending order.\\\n\\\nAvailable fields are: Id, Name, CreatedOn.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.PaymentTermAPIModel"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "dueDayType": "NumberOfDays",
                      "dueDay": 0,
                      "isCustomerDefault": true,
                      "isVendorDefault": true,
                      "active": true,
                      "inUse": true,
                      "modifiedOn": "string",
                      "createdOn": "string",
                      "paymentTermDiscountModel": {
                        "id": 0,
                        "discountApplyTo": {},
                        "discount": 0,
                        "discountType": {},
                        "account": "string",
                        "applyBy": {},
                        "applyByValue": 0
                      },
                      "interestSettings": {
                        "id": 0,
                        "rateType": "Flat",
                        "flatRateValue": 0,
                        "percentageRateValue": 0,
                        "chargeMethod": {},
                        "frequency": "Once",
                        "gracePeriod": 0,
                        "targetInvoices": [
                          "JobInvoices"
                        ],
                        "taskId": 0,
                        "taskDisplayName": "string"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.paymentterms:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payment-types": {
      "get": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Gets a list of payment types",
        "operationId": "PaymentTypes_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Perform lookup by multiple IDs (maximum 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "What kind of items should be returned (only active items will be returned by default)\\\nValues: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.PaymentTypeResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "modifiedOn": "string",
                      "createdOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.paymenttypes:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/payment-types/{id}": {
      "get": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Gets payment type specified by ID",
        "operationId": "PaymentTypes_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.PaymentTypeResponse"
                },
                "example": {
                  "id": 0,
                  "name": "string",
                  "modifiedOn": "string",
                  "createdOn": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.paymenttypes:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/remittance-vendors": {
      "get": {
        "tags": [
          "RemittanceVendors"
        ],
        "summary": "Returns a paginated list of Remittance Vendors with detailed item information, filtering capabilities, and associated metadata",
        "operationId": "RemittanceVendors_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Ids to filter by",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "What kind of items should be returned (only active items will be returned by default)\\\nValues: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "description": "Return items created before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "description": "Return items created on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "description": "Return items modified before certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "description": "Return items modified on or after certain date/time (in UTC)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field:\\\n\"?sort=+FieldName\" for ascending order,\\\n\"?sort=-FieldName\" for descending order.\\\n\\\nAvailable fields are: Id, ModifiedOn, CreatedOn.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated list of Remittance Vendors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.RemittanceVendorResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "active": true,
                      "customerId": "string",
                      "isApproved": true,
                      "isVerified": true,
                      "contactInfo": {
                        "firstName": "string",
                        "lastName": "string",
                        "phone": "string",
                        "email": "string",
                        "fax": "string"
                      },
                      "address": {
                        "street": "string",
                        "unit": "string",
                        "city": "string",
                        "state": "string",
                        "zip": "string",
                        "country": "string"
                      },
                      "createdOn": "string",
                      "modifiedOn": "string"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.remittancevendors:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/remittance-vendors/{id}": {
      "get": {
        "tags": [
          "RemittanceVendors"
        ],
        "summary": "Returns a single Remittance Vendor by its unique identifier with complete details including items, expense items, and associated metadata",
        "operationId": "RemittanceVendors_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the Remittance Vendor to retrieve",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the Remittance Vendor",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounting.V2.RemittanceVendorResponse"
                },
                "example": {
                  "id": 0,
                  "name": "string",
                  "active": true,
                  "customerId": "string",
                  "isApproved": true,
                  "isVerified": true,
                  "contactInfo": {
                    "firstName": "string",
                    "lastName": "string",
                    "phone": "string",
                    "email": "string",
                    "fax": "string"
                  },
                  "address": {
                    "street": "string",
                    "unit": "string",
                    "city": "string",
                    "state": "string",
                    "zip": "string",
                    "country": "string"
                  },
                  "createdOn": "string",
                  "modifiedOn": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          },
          "404": {
            "description": "Remittance Vendor with the specified ID was not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.remittancevendors:r"
            ]
          }
        ]
      }
    },
    "/tenant/{tenant}/tax-zones": {
      "get": {
        "tags": [
          "TaxZones"
        ],
        "summary": "Get a list of tax zones and their rates.",
        "description": "Gets a list of tax zones and their rates based on the supplied filter.\nIf no filter is supplied it returns all tax zones.",
        "operationId": "TaxZones_GetList",
        "parameters": [
          {
            "name": "tenant",
            "in": "path",
            "description": "Tenant ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Tax Zone Ids to pull tax zones for",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "What kind of items should be returned (only active items will be returned by default)\\\nValues: [True, Any, False]",
            "schema": {
              "type": "string",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveRequestArg"
                }
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The logical number of page to return, starting from 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "How many records to return (50 by default)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotal",
            "in": "query",
            "description": "Whether total count should be returned",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedBefore",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedOnOrAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Applies sorting by the specified field:\\\n\"?sort=+FieldName\" for ascending order,\\\n\"?sort=-FieldName\" for descending order.\\\n\\\nAvailable fields are: Id, Name, CreatedOn.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_Of_Accounting.V2.TaxZoneResponse"
                },
                "example": {
                  "page": 0,
                  "pageSize": 0,
                  "hasMore": true,
                  "totalCount": 0,
                  "data": [
                    {
                      "id": 0,
                      "name": "string",
                      "color": 0,
                      "isTaxRateSeparated": true,
                      "isMultipleTaxZone": true,
                      "rates": [
                        {
                          "id": 0,
                          "taxName": "string",
                          "taxBaseType": [
                            "Subtotal"
                          ],
                          "taxRate": 0,
                          "salesTaxItem": "string"
                        }
                      ],
                      "createdOn": "string",
                      "modifiedOn": "string",
                      "active": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request cannot be processed, check validation errors or request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                },
                "example": {
                  "type": "string",
                  "title": "string",
                  "status": 0,
                  "traceId": "string",
                  "errors": {},
                  "data": {}
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyHeader": [],
            "oauth": [
              "tn.acc.taxzones:r"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "PaginatedResponse_Of_Accounting.V2.ApBillResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApBillResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.ApBillResponse": {
        "required": [
          "id",
          "landedCostMethod",
          "doNotPay"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the AP bill",
            "format": "int64"
          },
          "purchaseOrderId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Associated purchase order ID, if applicable",
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ],
            "description": "Current synchronization status of the bill (e.g., Pending, Posted, Exported)"
          },
          "status": {
            "type": [
              "string",
              "null"
            ],
            "description": "Current status of the bill (e.g., Unreconciled, Reconciled, Discrepancy, Canceled)"
          },
          "source": {
            "type": [
              "string",
              "null"
            ],
            "description": "Source of the bill creation (e.g., Standalone, Purchasing, API, OCR)"
          },
          "billType": {
            "type": [
              "string",
              "null"
            ],
            "description": "Type of the bill (e.g., Procurement, ApBill)"
          },
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date when the bill was posted to the accounting system",
            "format": "date-time"
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reference number for the bill"
          },
          "vendorNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "Vendor's internal number or identifier"
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "description": "Brief summary or description of the bill"
          },
          "billDate": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date of the bill as specified by the vendor",
            "format": "date-time"
          },
          "earlyDiscountDate": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date by which early payment discount can be applied",
            "format": "date-time"
          },
          "billAmount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Total amount of the bill as a formatted string"
          },
          "vendorInvoiceTotal": {
            "type": [
              "string",
              "null"
            ],
            "description": "Total amount from the vendor's invoice as a formatted string"
          },
          "taxAmount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tax amount as a formatted string"
          },
          "shippingAmount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Shipping amount as a formatted string"
          },
          "landedCostMethod": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Inventory.Types.LandedCostMethod"
              }
            ],
            "description": "Landed cost method for this bill (from purchase order type)."
          },
          "otherAmount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Other landed costs amount (duties, fees), when applicable"
          },
          "preTaxDiscountAmount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pre-tax discount amount applied to the bill"
          },
          "preTaxCharge": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pre-tax charge amount applied to the bill"
          },
          "postTaxDiscountAmount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Post-tax discount amount applied to the bill"
          },
          "postTaxCharge": {
            "type": [
              "string",
              "null"
            ],
            "description": "Post-tax charge amount applied to the bill"
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ],
            "description": "Name of the user who created the bill"
          },
          "createdOn": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date and time when the bill was created",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date and time when the bill was last modified",
            "format": "date-time"
          },
          "termName": {
            "type": [
              "string",
              "null"
            ],
            "description": "Name of the payment terms applied to this bill"
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "description": "Due date for payment of the bill",
            "format": "date-time"
          },
          "doNotPay": {
            "type": "boolean",
            "description": "Indicates whether this bill should not be paid (hold status)"
          },
          "dateCanceled": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date when the bill was canceled, if applicable",
            "format": "date-time"
          },
          "canceledBy": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Information about who canceled the bill"
          },
          "shipToDescription": {
            "type": [
              "string",
              "null"
            ],
            "description": "Description of the shipping destination"
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Batch information if the bill is part of a batch"
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Business unit associated with the bill"
          },
          "taxZone": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Tax zone information for tax calculations"
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Vendor information for the bill"
          },
          "remittanceVendorInfo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Remittance vendor information for payment processing"
          },
          "shipTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Shipping address information"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Budget code ID associated with the bill",
            "format": "int64"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApBillItemResponse"
            },
            "description": "List of line items on the bill (materials and equipment)"
          },
          "expenseItems": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApBillExpenseItemResponse"
            },
            "description": "List of expense items on the bill"
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            },
            "description": "Custom field values associated with the bill"
          },
          "jobId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Job ID associated with the bill, if applicable",
            "format": "int64"
          },
          "jobNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "Job number associated with the bill, if applicable"
          },
          "dateReconciled": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date when the bill was reconciled, if applicable",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a complete AP bill with all associated details, items, and metadata"
      },
      "Inventory.Types.LandedCostMethod": {
        "enum": [
          "None",
          "ByValue"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "ByValue"
        ]
      },
      "Accounting.V2.NamedFieldResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.BatchResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.AddressResponse": {
        "type": "object",
        "properties": {
          "street": {
            "type": [
              "string",
              "null"
            ]
          },
          "unit": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "zip": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.ApBillItemResponse": {
        "required": [
          "order",
          "id",
          "skuId",
          "skuType",
          "skuCode"
        ],
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "description": "Display order of the item on the bill",
            "format": "int32"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Name of the item (material or equipment)"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Detailed description of the item (may contain HTML formatting)",
            "format": "html"
          },
          "quantity": {
            "type": [
              "string",
              "null"
            ],
            "description": "Quantity of the item as a formatted string"
          },
          "cost": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cost per unit as a formatted string"
          },
          "allocatedTax": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tax amount allocated to this line item"
          },
          "allocatedShipping": {
            "type": [
              "string",
              "null"
            ],
            "description": "Shipping amount allocated to this line item"
          },
          "allocatedOtherCosts": {
            "type": [
              "string",
              "null"
            ],
            "description": "Other costs allocated to this line item"
          },
          "fullyLandedUnitCost": {
            "type": [
              "string",
              "null"
            ],
            "description": "Fully landed unit cost for this line item"
          },
          "inventoryLocation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.InventoryLocationResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Inventory location where the item is stored"
          },
          "vendorPartNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "Vendor's part number for the item"
          },
          "serialNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "Serial number of the item, if applicable"
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "General ledger account information for accounting purposes"
          },
          "costOfSaleAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cost of sale account information for accounting purposes"
          },
          "assetAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Asset account information for accounting purposes"
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier for the bill item",
            "format": "int64"
          },
          "skuId": {
            "type": "integer",
            "description": "SKU (Stock Keeping Unit) identifier",
            "format": "int64"
          },
          "receiptItemId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Associated receipt item ID, if applicable",
            "format": "int64"
          },
          "skuType": {
            "type": "string",
            "description": "Type of SKU (e.g., Material, Equipment)"
          },
          "skuCode": {
            "type": "string",
            "description": "SKU code identifier"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Budget code ID associated with the item",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item on an AP bill, containing material or equipment details"
      },
      "Accounting.V2.InventoryLocationResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the inventory location",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Name of the inventory location"
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Type of inventory location (e.g., Warehouse, Truck, etc.)"
          }
        },
        "additionalProperties": false,
        "description": "Represents an inventory location where items are stored"
      },
      "Accounting.V2.GLAccountResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "detailType": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.ApBillExpenseItemResponse": {
        "required": [
          "id",
          "amount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the expense item",
            "format": "int64"
          },
          "amount": {
            "type": "string",
            "description": "Amount of the expense as a formatted string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Description of the expense item"
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "General ledger account information for the expense"
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Job associated with the expense, if applicable"
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Business unit associated with the expense"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Budget code ID associated with the expense",
            "format": "int64"
          },
          "projectLabelIds": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "List of project label IDs associated with the expense"
          }
        },
        "additionalProperties": false,
        "description": "Represents an expense item on an AP bill for non-inventory costs"
      },
      "Accounting.V2.CustomFieldResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "ApiErrorResponse": {
        "required": [
          "type",
          "title",
          "status",
          "traceId",
          "errors",
          "data"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "A URI reference that identifies the problem type"
          },
          "title": {
            "type": "string",
            "description": "A short, human-readable summary of the problem type"
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status code generated by server",
            "format": "int32"
          },
          "traceId": {
            "type": "string",
            "description": "Internal trace ID for advanced diagnostics"
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Provides more details about errors occurred, which can potentially be used for visual display"
          },
          "data": {
            "type": "object",
            "additionalProperties": {},
            "description": "Provides additional data, intended for programmatical usage"
          }
        },
        "additionalProperties": false,
        "description": "Detailed error response, following RFC 7807 recommendations (https://tools.ietf.org/html/rfc7807)."
      },
      "Accounting.V2.LogicalOperator": {
        "enum": [
          "And",
          "Or"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "And",
          "Or"
        ]
      },
      "Accounting.V2.ApBillSyncStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported",
          "PostedAndExported"
        ],
        "type": "string",
        "description": "Defines the synchronization status of an AP bill with external accounting systems\nValues: Pending (0), Posted (1), Exported (2), PostedAndExported (3)",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported",
          "PostedAndExported"
        ]
      },
      "Accounting.V2.ApBillStatus": {
        "enum": [
          "Unreconciled",
          "Discrepancy",
          "Reconciled",
          "Canceled"
        ],
        "type": "string",
        "description": "Defines the reconciliation status of an AP bill\nValues: Unreconciled (0), Reconciled (1), Discrepancy (2), Canceled (3)",
        "x-enumNames": [
          "Unreconciled",
          "Discrepancy",
          "Reconciled",
          "Canceled"
        ]
      },
      "Accounting.V2.ApBillSource": {
        "enum": [
          "Undefined",
          "Standalone",
          "Purchasing",
          "Recurring",
          "OCR",
          "API"
        ],
        "type": "string",
        "description": "Defines the source or origin of an AP bill creation\nValues: Undefined (0), Standalone (1), Purchasing (2), Recurring (3), OCR (4), API (5)",
        "x-enumNames": [
          "Undefined",
          "Standalone",
          "Purchasing",
          "Recurring",
          "OCR",
          "API"
        ]
      },
      "Accounting.V2.ApBillType": {
        "enum": [
          "NotSet",
          "Procurement",
          "ApBill"
        ],
        "type": "string",
        "description": "Defines the type of AP bill\nValues: NotSet (0), Procurement (1), ApBill (2)",
        "x-enumNames": [
          "NotSet",
          "Procurement",
          "ApBill"
        ]
      },
      "Accounting.V2.ApBillThreeWayMatchDiscrepancy": {
        "enum": [
          "NoDiscrepancy",
          "Discrepancy"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NoDiscrepancy",
          "Discrepancy"
        ]
      },
      "PaginatedResponse_Of_Accounting.V2.CustomFieldTypeResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldTypeResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.CustomFieldTypeResponse": {
        "required": [
          "id",
          "name",
          "dataType",
          "createdOn",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "dataType": {
            "$ref": "#/components/schemas/Accounting.V2.CustomFieldDataType"
          },
          "dataTypeOptions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CustomFieldDataType": {
        "enum": [
          "Text",
          "Dropdown",
          "Numeric"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Text",
          "Dropdown",
          "Numeric"
        ]
      },
      "Accounting.V2.CustomFieldUpdateRequest": {
        "required": [
          "operations"
        ],
        "type": "object",
        "properties": {
          "operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldOperationRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CustomFieldOperationRequest": {
        "required": [
          "objectId",
          "customFields"
        ],
        "type": "object",
        "properties": {
          "objectId": {
            "type": "integer",
            "format": "int64"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldPairRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CustomFieldPairRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "value": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkApBillAsExportedUpdateResponse": {
        "required": [
          "billId",
          "success"
        ],
        "type": "object",
        "properties": {
          "billId": {
            "type": "integer",
            "description": "The ID of the AP bill that was processed",
            "format": "int64"
          },
          "success": {
            "type": "boolean",
            "description": "Indicates whether the operation was successful"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ],
            "description": "Error message if the operation failed, null if successful"
          }
        },
        "additionalProperties": false,
        "description": "Response model indicating the result of marking an AP bill as exported"
      },
      "Accounting.V2.MarkApBillAsExportedUpdateRequest": {
        "required": [
          "billIds"
        ],
        "type": "object",
        "properties": {
          "billIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "List of AP bill IDs to mark as exported"
          }
        },
        "additionalProperties": false,
        "description": "Request model for marking one or more AP bills as exported"
      },
      "PaginatedResponse_Of_Accounting.V2.ApCreditResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApCreditResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.ApCreditResponse": {
        "required": [
          "id",
          "active",
          "createdOn",
          "modifiedOn",
          "date",
          "amount",
          "appliedAmount",
          "status",
          "syncStatus",
          "paymentStatus",
          "splits"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "inventoryReturnId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "jobId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "active": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "canceledOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          },
          "appliedAmount": {
            "type": "number",
            "format": "decimal"
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.VendorCreditStatus"
          },
          "syncStatus": {
            "$ref": "#/components/schemas/Accounting.V2.ApCreditSyncStatus"
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "remittanceVendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "paymentStatus": {
            "$ref": "#/components/schemas/Accounting.V2.ApPaymentStatus"
          },
          "splits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApCreditSplitModelResponse"
            }
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApCreditItemResponse"
            },
            "description": "List of line items on the credit (materials and equipment)"
          },
          "expenseItems": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApCreditExpenseItemResponse"
            },
            "description": "List of expense items on the credit"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.VendorCreditStatus": {
        "enum": [
          "Unreconciled",
          "Canceled"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unreconciled",
          "Canceled"
        ]
      },
      "Accounting.V2.ApCreditSyncStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported"
        ]
      },
      "Accounting.V2.ExportSubstatusResponse": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubStatusType"
              }
            ],
            "description": "Whether the bypass was performed by a user or by the system."
          },
          "setOn": {
            "type": [
              "string",
              "null"
            ],
            "description": "UTC timestamp when the substatus was set.",
            "format": "date-time"
          },
          "setByUserId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "User who set the substatus. Null when no user was recorded.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Bypass details when a transaction was marked Exported without a normal ERP sync."
      },
      "Accounting.V2.ExportSubStatusType": {
        "enum": [
          "BypassedManually",
          "BypassedAutomatically"
        ],
        "type": "string",
        "description": "Reason an exported transaction bypassed ERP sync.",
        "x-enumNames": [
          "BypassedManually",
          "BypassedAutomatically"
        ]
      },
      "Accounting.V2.ApPaymentStatus": {
        "enum": [
          "Unpaid",
          "ReadyForApproval",
          "Initiated",
          "Paid",
          "Cancelled",
          "InTransit",
          "Processing",
          "Rejected"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unpaid",
          "ReadyForApproval",
          "Initiated",
          "Paid",
          "Cancelled",
          "InTransit",
          "Processing",
          "Rejected"
        ]
      },
      "Accounting.V2.ApCreditSplitModelResponse": {
        "required": [
          "id",
          "active",
          "createdOn",
          "inventoryBillId",
          "vendorCreditId",
          "amount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "active": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "inventoryBillId": {
            "type": "integer",
            "format": "int64"
          },
          "vendorCreditId": {
            "type": "integer",
            "format": "int64"
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.ApCreditItemResponse": {
        "required": [
          "id",
          "skuId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the credit item",
            "format": "int64"
          },
          "skuId": {
            "type": "integer",
            "description": "SKU (Stock Keeping Unit) identifier",
            "format": "int64"
          },
          "skuCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "SKU code identifier"
          },
          "skuType": {
            "type": [
              "string",
              "null"
            ],
            "description": "Type of SKU (e.g., Material, Equipment)"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Display name of the item (material or equipment)"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Description of the item"
          },
          "quantity": {
            "type": [
              "string",
              "null"
            ],
            "description": "Quantity of the item as a formatted string"
          },
          "cost": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cost per unit as a formatted string"
          },
          "total": {
            "type": [
              "string",
              "null"
            ],
            "description": "Total cost of the line item as a formatted string"
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "General ledger account information for accounting purposes"
          },
          "costOfSaleAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cost of sale account information for accounting purposes"
          },
          "assetAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Asset account information for accounting purposes"
          },
          "projectLabelIds": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "List of project label IDs associated with the item"
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item on an AP credit, containing material or equipment details"
      },
      "Accounting.V2.ApCreditExpenseItemResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the expense item",
            "format": "int64"
          },
          "amount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Amount of the expense as a formatted string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Description of the expense item"
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "General ledger account information for the expense"
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Job associated with the expense, if applicable"
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Business unit associated with the expense"
          },
          "projectLabelIds": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "List of project label IDs associated with the expense"
          }
        },
        "additionalProperties": false,
        "description": "Represents an expense item on an AP credit for non-inventory costs"
      },
      "Accounting.V2.InventoryBillSyncStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported",
          "PostedAndExported"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported",
          "PostedAndExported"
        ]
      },
      "Accounting.V2.MarkApCreditAsExportedUpdateResponse": {
        "required": [
          "apCreditId",
          "success"
        ],
        "type": "object",
        "properties": {
          "apCreditId": {
            "type": "integer",
            "format": "int64"
          },
          "success": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkApCreditAsExportedUpdateRequest": {
        "required": [
          "apCreditId"
        ],
        "type": "object",
        "properties": {
          "apCreditId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.ApPaymentResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApPaymentResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.ApPaymentResponse": {
        "required": [
          "id",
          "createdOn",
          "modifiedOn",
          "date",
          "method",
          "amount",
          "status",
          "syncStatus",
          "splits"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "active": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "approvedDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "method": {
            "$ref": "#/components/schemas/Accounting.V2.ApPaymentMethod"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "printCheck": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.ApPaymentStatus"
          },
          "syncStatus": {
            "$ref": "#/components/schemas/Accounting.V2.ApPaymentSyncStatus"
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "glAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "remittanceVendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "splits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ApPaymentSplitApiModel"
            }
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.ApPaymentMethod": {
        "enum": [
          "AccountingSystem",
          "ServiceTitan"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "AccountingSystem",
          "ServiceTitan"
        ]
      },
      "Accounting.V2.ApPaymentSyncStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported"
        ]
      },
      "Accounting.V2.ApPaymentSplitApiModel": {
        "required": [
          "id",
          "createdOn",
          "amount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "active": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "documentId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryBillId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkApPaymentAsExportedUpdateResponse": {
        "required": [
          "apPaymentId",
          "success"
        ],
        "type": "object",
        "properties": {
          "apPaymentId": {
            "type": "integer",
            "format": "int64"
          },
          "success": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkApPaymentAsExportedUpdateRequest": {
        "required": [
          "apPaymentId"
        ],
        "type": "object",
        "properties": {
          "apPaymentId": {
            "type": "integer",
            "format": "int64"
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ]
          },
          "externalMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.CreditMemos.CreditMemoPublicResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoPublicResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.CreditMemos.CreditMemoPublicResponse": {
        "required": [
          "id",
          "date",
          "subTotal",
          "salesTax",
          "total",
          "balance",
          "createdOn",
          "modifiedOn",
          "active"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "subTotal": {
            "type": "number",
            "format": "decimal"
          },
          "salesTax": {
            "type": "number",
            "format": "decimal"
          },
          "salesTaxCode": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.SalesTaxResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "total": {
            "type": "number",
            "format": "decimal"
          },
          "balance": {
            "type": "number",
            "format": "decimal"
          },
          "appliedTo": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoAppliedToCodeResponse"
            }
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customerAddress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "location": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "locationAddress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "importId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.SalesTaxResponse": {
        "required": [
          "id",
          "taxRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "taxRate": {
            "type": "number",
            "format": "decimal"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoAppliedToCodeResponse": {
        "required": [
          "appliedId",
          "appliedTo",
          "appliedAmount",
          "appliedOn"
        ],
        "type": "object",
        "properties": {
          "appliedId": {
            "type": "integer",
            "format": "int64"
          },
          "appliedTo": {
            "type": "integer",
            "format": "int64"
          },
          "appliedAmount": {
            "type": "number",
            "format": "decimal"
          },
          "appliedOn": {
            "type": "string",
            "format": "date"
          },
          "appliedBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "appliedToReferenceNumber": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "ActiveRequestArg": {
        "enum": [
          "True",
          "Any",
          "False"
        ],
        "type": "string",
        "description": "Represents possible HTTP query argument values, when applying filters based on active status.",
        "x-enumNames": [
          "True",
          "Any",
          "False"
        ]
      },
      "Accounting.V2.TransactionStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported"
        ],
        "type": "string",
        "description": "Indicates a transaction's status.",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported"
        ]
      },
      "Accounting.V2.Shared.AmountComparisonOperator": {
        "enum": [
          "Equal",
          "NotEqual",
          "GreaterThan",
          "GreaterThanOrEqual",
          "LessThan",
          "LessThanOrEqual"
        ],
        "type": "string",
        "description": "Operators for amount comparison filter",
        "x-enumNames": [
          "Equal",
          "NotEqual",
          "GreaterThan",
          "GreaterThanOrEqual",
          "LessThan",
          "LessThanOrEqual"
        ]
      },
      "PaginatedResponse_Of_Accounting.V2.CreditMemos.CreditMemoItemsPublicResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemsPublicResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.CreditMemos.CreditMemoItemsPublicResponse": {
        "required": [
          "id",
          "active",
          "quantity",
          "cost",
          "price",
          "skuId",
          "total",
          "taxable",
          "createdOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "active": {
            "type": "boolean"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "cost": {
            "type": "number",
            "format": "decimal"
          },
          "price": {
            "type": "number",
            "format": "decimal"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "skuName": {
            "type": [
              "string",
              "null"
            ]
          },
          "skuId": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": "number",
            "format": "decimal"
          },
          "taxable": {
            "type": "boolean"
          },
          "revenueGeneralLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemGLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "expensesGeneralLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemGLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemNamedEntityResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoItemGLAccountResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoItemNamedEntityResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.CreditMemos.CreditMemosItemsPublicResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemosItemsPublicResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.CreditMemos.CreditMemosItemsPublicResponse": {
        "required": [
          "id",
          "active",
          "quantity",
          "cost",
          "price",
          "skuId",
          "total",
          "taxable",
          "createdOn",
          "creditMemoId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "active": {
            "type": "boolean"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "cost": {
            "type": "number",
            "format": "decimal"
          },
          "price": {
            "type": "number",
            "format": "decimal"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "skuName": {
            "type": [
              "string",
              "null"
            ]
          },
          "skuId": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": "number",
            "format": "decimal"
          },
          "taxable": {
            "type": "boolean"
          },
          "revenueGeneralLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemGLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "expensesGeneralLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemGLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoItemNamedEntityResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "creditMemoId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoUpdatePublicResponse": {
        "required": [
          "id",
          "active",
          "date",
          "businessUnitId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "active": {
            "type": "boolean"
          },
          "summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoUpdatePublicRequest": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "summary": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoAddSplitsPublicResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "splits": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoAddSplitPublicResponse"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoAddSplitPublicResponse": {
        "required": [
          "invoiceId",
          "amount"
        ],
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoAddSplitsPublicRequest": {
        "type": "object",
        "properties": {
          "splits": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Accounting.V2.CreditMemos.CreditMemoAddSplitPublicRequest"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.CreditMemoAddSplitPublicRequest": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "amount": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.MarkCreditMemoAsExportedResponse": {
        "required": [
          "creditMemoId",
          "success"
        ],
        "type": "object",
        "properties": {
          "creditMemoId": {
            "type": "integer",
            "format": "int64"
          },
          "success": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreditMemos.MarkCreditMemoAsExportedRequest": {
        "required": [
          "creditMemoId"
        ],
        "type": "object",
        "properties": {
          "creditMemoId": {
            "type": "integer",
            "format": "int64"
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ]
          },
          "externalMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.DetailedDepositResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.DetailedDepositResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.DetailedDepositResponse": {
        "required": [
          "id",
          "createdOn",
          "active",
          "depositDate",
          "grossAmount",
          "netAmount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "depositStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "active": {
            "type": "boolean"
          },
          "importId": {
            "type": [
              "string",
              "null"
            ]
          },
          "depositDate": {
            "type": "string",
            "format": "date-time"
          },
          "reviewStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "reviewedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "grossAmount": {
            "type": "number",
            "format": "decimal"
          },
          "netAmount": {
            "type": "number",
            "format": "decimal"
          },
          "fees": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "bankAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BankAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "feeAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.FeeAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.BankAccountResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "detailType": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.FeeAccountResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "detailType": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.DepositReviewStatus": {
        "enum": [
          "NeedsReview",
          "Reviewed"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NeedsReview",
          "Reviewed"
        ]
      },
      "Accounting.V2.DepositStatus": {
        "enum": [
          "Undefined",
          "Open",
          "Deposited"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Undefined",
          "Open",
          "Deposited"
        ]
      },
      "Accounting.V2.SyncStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported"
        ]
      },
      "PaginatedResponse_Of_Accounting.V2.DetailedTransactionResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.DetailedTransactionResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.DetailedTransactionResponse": {
        "required": [
          "id",
          "modifiedOn",
          "createdOn",
          "active"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "typeId": {
            "type": [
              "string",
              "null"
            ]
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "unappliedAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "type": [
              "string",
              "null"
            ],
            "description": "The full memo: the custom free-text message combined with system processing notes."
          },
          "userMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "Custom free-text message stored with the payment. May be null, in which case refer to Memo."
          },
          "systemMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "System-generated processing notes for the payment. May be null, in which case refer to Memo."
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "deposit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "appliedTo": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentAppliedResponse"
            }
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.CustomFieldModel"
            }
          },
          "authCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "checkNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "active": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentAppliedResponse": {
        "required": [
          "appliedId",
          "appliedTo"
        ],
        "type": "object",
        "properties": {
          "appliedAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "appliedBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "appliedId": {
            "type": "integer",
            "format": "int64"
          },
          "appliedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "appliedTo": {
            "type": "integer",
            "format": "int64"
          },
          "appliedToReferenceNumber": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.CustomFieldModel": {
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkDepositsAsExportedRequestArgs": {
        "type": "object",
        "properties": {
          "ids": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.ExpenseTransactionResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExpenseTransactionResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.ExpenseTransactionResponse": {
        "required": [
          "id",
          "expenseTransactionId",
          "isRefund"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the expense transaction.",
            "format": "int64"
          },
          "expenseTransactionId": {
            "type": "string",
            "description": "Shared MOS expense GUID (stable identifier across ServiceTitan and moneyout-service).",
            "format": "guid"
          },
          "number": {
            "type": [
              "string",
              "null"
            ],
            "description": "User-visible expense transaction number (e.g., \"EXP-00001\")."
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date the transaction occurred (from card statement).",
            "format": "date-time"
          },
          "total": {
            "type": [
              "string",
              "null"
            ],
            "description": "Total amount of the expense."
          },
          "tax": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tax amount on the expense."
          },
          "shipping": {
            "type": [
              "string",
              "null"
            ],
            "description": "Shipping amount on the expense."
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "description": "Brief summary or description of the expense."
          },
          "createdOn": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date and time when the expense was created.",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date and time when the expense was last modified.",
            "format": "date-time"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ],
            "description": "Accounting export lifecycle status: Pending / Posted / Exported.\nControlled by the monolith batch/export workflow."
          },
          "expenseStatus": {
            "type": [
              "string",
              "null"
            ],
            "description": "MOS-computed export-readiness headline: Pending / ReadyForExport / Exported.\nNull when MOS has not yet produced a verdict (internal NotSet sentinel).\nDistinct from SyncStatus."
          },
          "needsReview": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Whether the expense has been flagged for review by MOS rules.\nNull until MOS emits the value (null ≠ false — no verdict yet)."
          },
          "providerRequirementsMet": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Whether the expense provider has confirmed all its requirements are met.\nNull until the provider signal arrives (null ≠ false — three-state preserved)."
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Vendor where the expense was incurred."
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Business unit associated with the expense."
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Job associated with the expense, if applicable."
          },
          "project": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Project associated with the expense, if applicable."
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Accounting batch this expense belongs to, if applicable."
          },
          "debitAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Debit-side GL account (the expense account charged for this transaction)."
          },
          "creditCardAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Credit-side GL account (Liability: Credit Card) this expense was charged to."
          },
          "isRefund": {
            "type": "boolean",
            "description": "True when this transaction is a refund/reversal rather than a charge."
          },
          "reversesExpenseTransactionId": {
            "type": [
              "string",
              "null"
            ],
            "description": "When IsRefund is true, the MOS ExpenseId of the original charge this reverses.",
            "format": "guid"
          },
          "cardNumberLast4": {
            "type": [
              "string",
              "null"
            ],
            "description": "Last 4 digits of the credit card number (display convenience)."
          },
          "externalSource": {
            "type": [
              "string",
              "null"
            ],
            "description": "Originating system (e.g., \"Ramp\", \"Manual\")."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Provider-side external identifier for this expense (from the originating system)."
          },
          "employeeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Employee associated with the expense, if any.",
            "format": "int64"
          },
          "merchantCategory": {
            "type": [
              "string",
              "null"
            ],
            "description": "Merchant Category Code (MCC) classifying the merchant type."
          },
          "receiptStatus": {
            "type": [
              "string",
              "null"
            ],
            "description": "Receipt attachment status."
          },
          "lineItems": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExpenseLineItemResponse"
            },
            "description": "Line items on the expense, each with optional per-line GL/BU/Job/Project overrides."
          },
          "accountingFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExpenseAccountingFieldResponse"
            },
            "description": "ERP accounting dimension fields (budget codes, cost centers, etc.) forwarded from the expense provider.\nAll FieldDestination values are included. Budget codes live here — no scalar field is synthesized."
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            },
            "description": "ST-defined custom-field values (name/value) attached to this expense via the custom-field\nframework. Distinct from AccountingFields (provider-sourced ERP dimensions)."
          }
        },
        "additionalProperties": false,
        "description": "Full projection of an expense transaction returned by the public V2 API.\nStatus axes (SyncStatus, ExpenseStatus, NeedsReview,\nProviderRequirementsMet) are exposed as distinct fields.\nBudget codes and ERP accounting dimensions live in AccountingFields;\nno scalar BudgetCodeId is synthesized."
      },
      "Accounting.V2.ExpenseLineItemResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the line item.",
            "format": "int64"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Description of the line item."
          },
          "amount": {
            "type": [
              "string",
              "null"
            ],
            "description": "Total amount for the line item."
          },
          "quantity": {
            "type": [
              "string",
              "null"
            ],
            "description": "Quantity."
          },
          "unitPrice": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unit price."
          },
          "glAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional debit-side GL account override (falls back to header DebitAccount when null)."
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional business unit override at the line level."
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional job override at the line level."
          },
          "project": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional project override at the line level."
          },
          "projectLabelIds": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Project label IDs associated with this line item."
          }
        },
        "additionalProperties": false,
        "description": "A single line item on an expense transaction, with optional per-line overrides\nfor GL account, business unit, job, and project."
      },
      "Accounting.V2.ExpenseAccountingFieldResponse": {
        "type": "object",
        "properties": {
          "erpFieldId": {
            "type": [
              "string",
              "null"
            ],
            "description": "ERP/external key for the field (provider category_info.external_id). This is the primary identifier integrators use to correlate fields."
          },
          "erpFieldName": {
            "type": [
              "string",
              "null"
            ],
            "description": "Human-readable name of the ERP accounting field (e.g., \"Department\"). Null when not provided by the expense provider."
          },
          "fieldCategory": {
            "type": [
              "string",
              "null"
            ],
            "description": "Verbatim provider category token (e.g., \"COST_CENTER\"). Informational only — use FieldDestination for routing."
          },
          "fieldDestination": {
            "type": [
              "string",
              "null"
            ],
            "description": "Normalized sync-intent signal (Erp / ServiceTitanOnly / Unspecified)."
          },
          "dataType": {
            "type": [
              "string",
              "null"
            ],
            "description": "Value data type (Boolean / Date / FreeFormText / SingleChoice). Null when unknown."
          },
          "optionName": {
            "type": [
              "string",
              "null"
            ],
            "description": "Human-readable option label when DataType is SingleChoice."
          },
          "erpOptionCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "ERP-side option code when DataType is SingleChoice."
          },
          "freeFormValue": {
            "type": [
              "string",
              "null"
            ],
            "description": "Free-form text value when DataType is FreeFormText."
          }
        },
        "additionalProperties": false,
        "description": "A single ERP accounting dimension field on an expense transaction.\nEach row represents one dimension (e.g., Department, Cost Center) from the expense provider."
      },
      "Accounting.V2.ExpenseSyncStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported"
        ],
        "type": "string",
        "description": "Synchronization status of an expense transaction with the accounting system.\nValues: Pending (0), Posted (1), Exported (2)",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported"
        ]
      },
      "Accounting.V2.ExpenseStatusResponse": {
        "enum": [
          "NotSet",
          "Pending",
          "ReadyForExport",
          "Exported"
        ],
        "type": "string",
        "description": "MOS-computed export-readiness status.\nNotSet is an internal sentinel — it is not a valid filter value and\nprojects as null on the API response.\nValues: Pending (1), ReadyForExport (2), Exported (3)",
        "x-enumNames": [
          "NotSet",
          "Pending",
          "ReadyForExport",
          "Exported"
        ]
      },
      "Accounting.V2.MarkExpenseAsExportedResponse": {
        "required": [
          "expenseId",
          "success"
        ],
        "type": "object",
        "properties": {
          "expenseId": {
            "type": "integer",
            "description": "The ID of the expense transaction that was processed.",
            "format": "int64"
          },
          "success": {
            "type": "boolean",
            "description": "Whether the expense was eligible and transitioned to Exported."
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason the expense was not exported (not found, or not in Posted state); null on success."
          }
        },
        "additionalProperties": false,
        "description": "Per-ID result of a mark-as-exported request. Mirrors MarkApBillAsExportedUpdateResponse."
      },
      "Accounting.V2.MarkExpensesAsExportedRequest": {
        "required": [
          "expenseIds"
        ],
        "type": "object",
        "properties": {
          "expenseIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "List of expense transaction IDs to mark as exported."
          }
        },
        "additionalProperties": false,
        "description": "Request model for marking one or more expense transactions as exported.\nMirrors MarkApBillAsExportedUpdateRequest."
      },
      "ExportResponse_Of_Accounting.V2.ExportInvoiceResponse": {
        "required": [
          "hasMore",
          "continueFrom",
          "data"
        ],
        "type": "object",
        "properties": {
          "hasMore": {
            "type": "boolean",
            "description": "Indicates whether the export feed has reached its logical \"end\", or if there is more to export.\nTrue means the consumer can invoke another request right away using new continuation token value.\nFalse means there is now new data for the export, and the consumer should wait for some time (5-10 minutes)\nbefore making another request."
          },
          "continueFrom": {
            "type": "string",
            "description": "Continuation token used to resume the export operation. The value should be used in \"from\" query parameter of the following request."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExportInvoiceResponse"
            },
            "description": "The collection of exported items, usually sorted chronologically based on modification date"
          }
        },
        "additionalProperties": false,
        "description": "Represents export API response."
      },
      "Accounting.V2.ExportInvoiceResponse": {
        "required": [
          "active",
          "invoiceConfiguration",
          "id",
          "createdOn",
          "sentStatus",
          "reviewStatus"
        ],
        "type": "object",
        "properties": {
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InvoiceItemResponse"
            }
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "active": {
            "type": "boolean",
            "description": "Whether this invoice is active, or not anymore."
          },
          "discountTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "importId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "materialSkuId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "membershipId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "paidOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "invoiceConfiguration": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceConfiguration"
          },
          "rateSheetId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The rate sheet currently applied to the invoice; null when no rate sheet is applied.",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "subTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "salesTax": {
            "type": [
              "string",
              "null"
            ]
          },
          "salesTaxCode": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.SalesTaxResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "taxZoneId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "balance": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customerAddress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "location": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "locationAddress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "termName": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "depositedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "adjustmentToId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JobResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "projectId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "royalty": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.RoyaltyResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "employeeInfo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.EmployeeInfoResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "commissionEligibilityDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "sentStatus": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceSentStatus"
          },
          "reviewStatus": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceReviewStatus"
          },
          "reviewedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "assignedTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InvoiceItemResponse": {
        "required": [
          "id",
          "type",
          "skuId",
          "inventory",
          "taxable",
          "isChargeable",
          "membershipTypeId",
          "createdOn",
          "modifiedOn",
          "order",
          "addOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "quantity": {
            "type": [
              "string",
              "null"
            ]
          },
          "cost": {
            "type": [
              "string",
              "null"
            ]
          },
          "totalCost": {
            "type": [
              "string",
              "null"
            ]
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryLocationId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryLocation": {
            "type": [
              "string",
              "null"
            ]
          },
          "price": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceItemType"
          },
          "skuName": {
            "type": [
              "string",
              "null"
            ]
          },
          "skuId": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "inventory": {
            "type": "boolean"
          },
          "taxable": {
            "type": "boolean"
          },
          "isChargeable": {
            "type": "boolean"
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "costOfSaleAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "assetAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "membershipTypeId": {
            "type": "integer",
            "format": "int64"
          },
          "itemGroup": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ItemGroupResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "displayName": {
            "type": [
              "string",
              "null"
            ]
          },
          "soldHours": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "serviceDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdById": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "displayInAmount": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "importId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "inventoryStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "addOn": {
            "type": "boolean"
          },
          "memberPrice": {
            "type": [
              "string",
              "null"
            ]
          },
          "technicianId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "installedEquipmentId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "estimateItemId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The estimate item from which this invoice item was created.",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InvoiceItemType": {
        "enum": [
          "Service",
          "Material",
          "Equipment",
          "PriceModifier",
          "Unspecified"
        ],
        "type": "string",
        "description": "Indicates a type's item",
        "x-enumNames": [
          "Service",
          "Material",
          "Equipment",
          "PriceModifier",
          "Unspecified"
        ]
      },
      "Accounting.V2.ItemGroupResponse": {
        "required": [
          "rootId"
        ],
        "type": "object",
        "properties": {
          "rootId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InvoiceConfiguration": {
        "enum": [
          "JobInvoice",
          "ProjectInvoice",
          "CounterSales",
          "MembershipInvoice",
          "InterestChargeInvoice",
          "ARImportInvoice"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "JobInvoice",
          "ProjectInvoice",
          "CounterSales",
          "MembershipInvoice",
          "InterestChargeInvoice",
          "ARImportInvoice"
        ]
      },
      "Accounting.V2.JobResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.RoyaltyResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "sentOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.EmployeeInfoResponse": {
        "required": [
          "id",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InvoiceSentStatus": {
        "enum": [
          "NotSent",
          "Sent",
          "Opened"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotSent",
          "Sent",
          "Opened"
        ]
      },
      "Accounting.V2.InvoiceReviewStatus": {
        "enum": [
          "NeedsReview",
          "OnHold",
          "Reviewed",
          "PendingApproval",
          "Rejected",
          "ReadyForBilling",
          "Invoiced"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NeedsReview",
          "OnHold",
          "Reviewed",
          "PendingApproval",
          "Rejected",
          "ReadyForBilling",
          "Invoiced"
        ]
      },
      "ExportResponse_Of_Accounting.V2.ExportInvoiceItemResponse": {
        "required": [
          "hasMore",
          "continueFrom",
          "data"
        ],
        "type": "object",
        "properties": {
          "hasMore": {
            "type": "boolean",
            "description": "Indicates whether the export feed has reached its logical \"end\", or if there is more to export.\nTrue means the consumer can invoke another request right away using new continuation token value.\nFalse means there is now new data for the export, and the consumer should wait for some time (5-10 minutes)\nbefore making another request."
          },
          "continueFrom": {
            "type": "string",
            "description": "Continuation token used to resume the export operation. The value should be used in \"from\" query parameter of the following request."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExportInvoiceItemResponse"
            },
            "description": "The collection of exported items, usually sorted chronologically based on modification date"
          }
        },
        "additionalProperties": false,
        "description": "Represents export API response."
      },
      "Accounting.V2.ExportInvoiceItemResponse": {
        "required": [
          "id",
          "type",
          "skuId",
          "inventory",
          "taxable",
          "isChargeable",
          "membershipTypeId",
          "createdOn",
          "modifiedOn",
          "order",
          "addOn",
          "active",
          "invoiceId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "quantity": {
            "type": [
              "string",
              "null"
            ]
          },
          "cost": {
            "type": [
              "string",
              "null"
            ]
          },
          "totalCost": {
            "type": [
              "string",
              "null"
            ]
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryLocationId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryLocation": {
            "type": [
              "string",
              "null"
            ]
          },
          "price": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceItemType"
          },
          "skuName": {
            "type": [
              "string",
              "null"
            ]
          },
          "skuId": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "inventory": {
            "type": "boolean"
          },
          "taxable": {
            "type": "boolean"
          },
          "isChargeable": {
            "type": "boolean"
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "costOfSaleAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "assetAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "membershipTypeId": {
            "type": "integer",
            "format": "int64"
          },
          "itemGroup": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ItemGroupResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "displayName": {
            "type": [
              "string",
              "null"
            ]
          },
          "soldHours": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "serviceDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdById": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "displayInAmount": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "importId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "inventoryStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "addOn": {
            "type": "boolean"
          },
          "memberPrice": {
            "type": [
              "string",
              "null"
            ]
          },
          "technicianId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "installedEquipmentId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "estimateItemId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The estimate item from which this invoice item was created.",
            "format": "int64"
          },
          "active": {
            "type": "boolean"
          },
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ExportResponse_Of_Accounting.V2.ExportPaymentResponse": {
        "required": [
          "hasMore",
          "continueFrom",
          "data"
        ],
        "type": "object",
        "properties": {
          "hasMore": {
            "type": "boolean",
            "description": "Indicates whether the export feed has reached its logical \"end\", or if there is more to export.\nTrue means the consumer can invoke another request right away using new continuation token value.\nFalse means there is now new data for the export, and the consumer should wait for some time (5-10 minutes)\nbefore making another request."
          },
          "continueFrom": {
            "type": "string",
            "description": "Continuation token used to resume the export operation. The value should be used in \"from\" query parameter of the following request."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExportPaymentResponse"
            },
            "description": "The collection of exported items, usually sorted chronologically based on modification date"
          }
        },
        "additionalProperties": false,
        "description": "Represents export API response."
      },
      "Accounting.V2.ExportPaymentResponse": {
        "required": [
          "active",
          "createdOn",
          "id",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "appliedTo": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentAppliedResponse"
            }
          },
          "authCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "checkNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.CustomFieldModel"
            }
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "deposit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ],
            "description": "The full memo: the custom free-text message combined with system processing notes."
          },
          "userMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "Custom free-text message stored with the payment. May be null, in which case refer to Memo."
          },
          "systemMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "System-generated processing notes for the payment. May be null, in which case refer to Memo."
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "refundedPaymentId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "typeId": {
            "type": [
              "string",
              "null"
            ]
          },
          "unappliedAmount": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "ExportResponse_Of_Accounting.V2.ExportInventoryBillResponse": {
        "required": [
          "hasMore",
          "continueFrom",
          "data"
        ],
        "type": "object",
        "properties": {
          "hasMore": {
            "type": "boolean",
            "description": "Indicates whether the export feed has reached its logical \"end\", or if there is more to export.\nTrue means the consumer can invoke another request right away using new continuation token value.\nFalse means there is now new data for the export, and the consumer should wait for some time (5-10 minutes)\nbefore making another request."
          },
          "continueFrom": {
            "type": "string",
            "description": "Continuation token used to resume the export operation. The value should be used in \"from\" query parameter of the following request."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExportInventoryBillResponse"
            },
            "description": "The collection of exported items, usually sorted chronologically based on modification date"
          }
        },
        "additionalProperties": false,
        "description": "Represents export API response."
      },
      "Accounting.V2.ExportInventoryBillResponse": {
        "required": [
          "id",
          "landedCostMethod",
          "active"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "purchaseOrderId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "vendorNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "billDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "billAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "taxAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "shippingAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "landedCostMethod": {
            "$ref": "#/components/schemas/Inventory.Types.LandedCostMethod"
          },
          "otherAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "termName": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "shipToDescription": {
            "type": [
              "string",
              "null"
            ]
          },
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "taxZone": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Budget code ID associated with the bill",
            "format": "int64"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InventoryBillItemResponse"
            }
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "jobId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "jobNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "dateReconciled": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "active": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InventoryBillItemResponse": {
        "required": [
          "order",
          "id",
          "skuId",
          "skuType",
          "skuCode"
        ],
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "quantity": {
            "type": [
              "string",
              "null"
            ]
          },
          "cost": {
            "type": [
              "string",
              "null"
            ]
          },
          "allocatedTax": {
            "type": [
              "string",
              "null"
            ]
          },
          "allocatedShipping": {
            "type": [
              "string",
              "null"
            ]
          },
          "allocatedOtherCosts": {
            "type": [
              "string",
              "null"
            ]
          },
          "fullyLandedUnitCost": {
            "type": [
              "string",
              "null"
            ]
          },
          "inventoryLocation": {
            "type": [
              "string",
              "null"
            ]
          },
          "serialNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "costOfSaleAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "assetAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "skuId": {
            "type": "integer",
            "format": "int64"
          },
          "receiptItemId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "skuType": {
            "type": "string"
          },
          "skuCode": {
            "type": "string"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Budget code ID associated with the item",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.GlAccountExtendedResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.GlAccountExtendedResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.GlAccountExtendedResponse": {
        "required": [
          "id",
          "active",
          "isIntacctGroup",
          "isIntacctBankAccount",
          "source",
          "isIntacctGlGroup",
          "createdOn",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The account's ERP external identifier imported by the tenant's accounting integration\n(for Sage Intacct, the record number — RECORDNO; the human-facing account code is in Number).\nNull when the integration does not import an id for the account (e.g. QuickBooks Online,\nwhere accounts are reconciled by name)."
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtype": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "isIntacctGroup": {
            "type": "boolean"
          },
          "isIntacctBankAccount": {
            "type": "boolean"
          },
          "source": {
            "$ref": "#/components/schemas/Accounting.V2.GeneralLedgerAccountSource"
          },
          "defaultAccountType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.DefaultAccountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "isIntacctGlGroup": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.GeneralLedgerAccountSource": {
        "enum": [
          "Undefined",
          "AccountingSystem",
          "ManuallyCreated",
          "PublicApi"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Undefined",
          "AccountingSystem",
          "ManuallyCreated",
          "PublicApi"
        ]
      },
      "Accounting.V2.DefaultAccountType": {
        "enum": [
          "CheckingAccount",
          "UndepositedFunds",
          "AccountsReceivable",
          "Inventory",
          "AccountsPayable",
          "CustomerRefundsPayable",
          "SalesTaxPayable",
          "CustomerDeposits",
          "MembershipAgreements",
          "RetainedEarnings",
          "Revenue",
          "MembershipRevenue",
          "Refunds",
          "CostOfGoodsSoldMaterials",
          "CostOfGoodsSoldEquipment",
          "CostOfGoodsSoldShipping",
          "CostOfGoodsSoldTax",
          "PayrollLabor",
          "PayrollEmployeeTaxes",
          "EmployeeBenefits",
          "EmployerTaxes",
          "EmployerBenefits",
          "Deductions",
          "InventoryAdjustments",
          "CostOfGoodsSoldRestockingFee",
          "CostOfGoodsSoldLabor",
          "PayrollLiability",
          "PayrollClearing",
          "BillPriceVariance",
          "CommittedCosts",
          "GoodsReceivedNotInvoiced",
          "VendorDiscount",
          "ProcessingFees",
          "GoodsReturnedNotCredited",
          "UseTaxExpense",
          "UseTaxLiability",
          "CreditCardPayable",
          "UncategorizedExpense",
          "OverheadApplied"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "CheckingAccount",
          "UndepositedFunds",
          "AccountsReceivable",
          "Inventory",
          "AccountsPayable",
          "CustomerRefundsPayable",
          "SalesTaxPayable",
          "CustomerDeposits",
          "MembershipAgreements",
          "RetainedEarnings",
          "Revenue",
          "MembershipRevenue",
          "Refunds",
          "CostOfGoodsSoldMaterials",
          "CostOfGoodsSoldEquipment",
          "CostOfGoodsSoldShipping",
          "CostOfGoodsSoldTax",
          "PayrollLabor",
          "PayrollEmployeeTaxes",
          "EmployeeBenefits",
          "EmployerTaxes",
          "EmployerBenefits",
          "Deductions",
          "InventoryAdjustments",
          "CostOfGoodsSoldRestockingFee",
          "CostOfGoodsSoldLabor",
          "PayrollLiability",
          "PayrollClearing",
          "BillPriceVariance",
          "CommittedCosts",
          "GoodsReceivedNotInvoiced",
          "VendorDiscount",
          "ProcessingFees",
          "GoodsReturnedNotCredited",
          "UseTaxExpense",
          "UseTaxLiability",
          "CreditCardPayable",
          "UncategorizedExpense",
          "OverheadApplied"
        ]
      },
      "Accounting.V2.WellKnownAccountsResponse": {
        "type": "object",
        "properties": {
          "creditCardPayableAccountId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "GL account mapped to CreditCardPayable for the tenant; null if unconfigured or not enabled.",
            "format": "int64"
          },
          "uncategorizedExpenseAccountId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "GL account mapped to UncategorizedExpense for the tenant; null if unconfigured or not enabled.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "The tenant's well-known General Ledger account ids, resolved by the authoritative default-account\nmapping. Each id is null when the corresponding default account is unconfigured for the tenant or the\nfeature that enables it is off."
      },
      "PaginatedResponse_Of_Accounting.V2.GlAccountTypeResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.GlAccountTypeResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.GlAccountTypeResponse": {
        "required": [
          "id",
          "active",
          "createdOn",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parentTypeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.GlAccountCreateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtype": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.GlAccountUpdateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtype": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InventoryBillResponse": {
        "required": [
          "id",
          "landedCostMethod"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "purchaseOrderId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "vendorNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "billDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "billAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "taxAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "shippingAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "landedCostMethod": {
            "$ref": "#/components/schemas/Inventory.Types.LandedCostMethod"
          },
          "otherAmount": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "termName": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "shipToDescription": {
            "type": [
              "string",
              "null"
            ]
          },
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "taxZone": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Budget code ID associated with the bill",
            "format": "int64"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InventoryBillItemResponse"
            }
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "jobId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "jobNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "dateReconciled": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.BillType": {
        "enum": [
          "NotSet",
          "Procurement",
          "ApBill",
          "RecurringBill"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotSet",
          "Procurement",
          "ApBill",
          "RecurringBill"
        ]
      },
      "Accounting.V2.InventoryBillThreeWayMatchDiscrepancy": {
        "enum": [
          "NoDiscrepancy",
          "Discrepancy"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NoDiscrepancy",
          "Discrepancy"
        ]
      },
      "PaginatedResponse_Of_Accounting.V2.InventoryBillResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InventoryBillResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.MarkInventoryBillAsExportedUpdateResponse": {
        "required": [
          "inventoryBillId",
          "success"
        ],
        "type": "object",
        "properties": {
          "inventoryBillId": {
            "type": "integer",
            "format": "int64"
          },
          "success": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkInventoryBillAsExportedUpdateRequest": {
        "required": [
          "inventoryBillIds"
        ],
        "type": "object",
        "properties": {
          "inventoryBillIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.InvoiceResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InvoiceResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.InvoiceResponse": {
        "required": [
          "id",
          "createdOn",
          "sentStatus",
          "reviewStatus",
          "active",
          "invoiceConfiguration"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "subTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "salesTax": {
            "type": [
              "string",
              "null"
            ]
          },
          "salesTaxCode": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.SalesTaxResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "taxZoneId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "balance": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customerAddress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "location": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "locationAddress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "termName": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "depositedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "adjustmentToId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JobResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "projectId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "royalty": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.RoyaltyResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "employeeInfo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.EmployeeInfoResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "commissionEligibilityDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "sentStatus": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceSentStatus"
          },
          "reviewStatus": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceReviewStatus"
          },
          "reviewedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "assignedTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InvoiceItemResponse"
            }
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "active": {
            "type": "boolean",
            "description": "Whether this invoice is active, or not anymore."
          },
          "discountTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "importId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "materialSkuId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "membershipId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "paidOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "invoiceConfiguration": {
            "$ref": "#/components/schemas/Accounting.V2.InvoiceConfiguration"
          },
          "rateSheetId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The rate sheet currently applied to the invoice; null when no rate sheet is applied.",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.Share.ActiveStateFilterType": {
        "enum": [
          "ActiveOnly",
          "InactiveOnly",
          "All"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "ActiveOnly",
          "InactiveOnly",
          "All"
        ]
      },
      "Accounting.V2.BalanceComparer": {
        "enum": [
          "Equals",
          "NotEquals",
          "Greater",
          "Less"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Equals",
          "NotEquals",
          "Greater",
          "Less"
        ]
      },
      "Accounting.V2.AdjustmentInvoiceCreateRequest": {
        "required": [
          "adjustmentToId"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "typeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "invoicedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "subtotal": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "tax": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "taxZoneId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "royaltyStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.RoyaltyStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "royaltyDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "royaltySentOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "royaltyMemo": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "reviewStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.InvoiceReviewStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "assignedToId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InvoiceItemUpdateRequest"
            }
          },
          "adjustmentToId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.RoyaltyStatus": {
        "enum": [
          "Pending",
          "Sent",
          "Failed"
        ],
        "type": "string",
        "description": "Indicates royalty status of invoice",
        "x-enumNames": [
          "Pending",
          "Sent",
          "Failed"
        ]
      },
      "Accounting.V2.InvoiceItemUpdateRequest": {
        "required": [
          "description",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "skuId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "skuName": {
            "type": [
              "string",
              "null"
            ]
          },
          "technicianId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "description": {
            "type": "string",
            "format": "html"
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "unitPrice": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "cost": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "isAddOn": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "signature": {
            "type": [
              "string",
              "null"
            ]
          },
          "technicianAcknowledgementSignature": {
            "type": [
              "string",
              "null"
            ]
          },
          "installedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "inventoryWarehouseName": {
            "type": [
              "string",
              "null"
            ]
          },
          "skipUpdatingMembershipPrices": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "itemGroupName": {
            "type": [
              "string",
              "null"
            ]
          },
          "itemGroupRootId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryLocationId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "durationBillingId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "serviceDate": {
            "type": [
              "string",
              "null"
            ],
            "description": "Service Date (Item Consumption date, stored as InvoiceItem.DateCreated).\nOptional — when omitted the item's Service Date is left as-is. Must not fall in a closed accounting period.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InvoiceUpdateRequest": {
        "type": "object",
        "properties": {
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "typeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "invoicedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "subtotal": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "tax": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "taxZoneId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "format": "html"
          },
          "royaltyStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.RoyaltyStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "royaltyDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "royaltySentOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "royaltyMemo": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ]
          },
          "reviewStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.InvoiceReviewStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "assignedToId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "items": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InvoiceItemUpdateRequest"
            }
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "payments": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentSettlementUpdateRequest"
            }
          },
          "rateSheetId": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Rate sheet ID to assign to the invoice; send null to clear it (\"no rate sheet\").\nOmit the field entirely to leave the invoice's rate sheet unchanged.",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentSettlementUpdateRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "settlementStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.SettlementStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "settlementDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.SettlementStatus": {
        "enum": [
          "NotSettled",
          "Settled"
        ],
        "type": "string",
        "description": "Indicates settlement status of payment",
        "x-enumNames": [
          "NotSettled",
          "Settled"
        ]
      },
      "Accounting.V2.MarkInvoiceAsExportedUpdateResponse": {
        "required": [
          "invoiceId",
          "success"
        ],
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "success": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.MarkInvoiceAsExportedUpdateRequest": {
        "required": [
          "invoiceId"
        ],
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ]
          },
          "externalMessage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.GetInvoiceTasksResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.GetInvoiceTasksResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.GetInvoiceTasksResponse": {
        "required": [
          "taskId",
          "relations"
        ],
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "format": "guid"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "assigneeId": {
            "type": [
              "string",
              "null"
            ],
            "format": "guid"
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "templateId": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "relations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InvoiceTaskRelationResponse"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InvoiceTaskRelationResponse": {
        "required": [
          "taskId"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "taskId": {
            "type": "string",
            "format": "guid"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreateInvoiceTaskResponse": {
        "required": [
          "executionId",
          "status",
          "tasks",
          "errors"
        ],
        "type": "object",
        "properties": {
          "executionId": {
            "type": "string"
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CreatedTaskResponse"
            }
          },
          "status": {
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.TemplateExecutionErrorResponse"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreatedTaskResponse": {
        "required": [
          "key",
          "taskId"
        ],
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "format": "guid"
          },
          "key": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.TemplateExecutionErrorResponse": {
        "required": [
          "message"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.CreateInvoiceTaskRequest": {
        "required": [
          "templateId"
        ],
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string"
          },
          "variables": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.UpdateInvoiceTaskResponse": {
        "required": [
          "taskId"
        ],
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "format": "guid"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.UpdateInvoiceTaskRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "assigneeId": {
            "type": [
              "string",
              "null"
            ],
            "format": "guid"
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntryResponse": {
        "required": [
          "createdOn",
          "modifiedOn",
          "number",
          "source",
          "status",
          "syncStatus",
          "versionId",
          "isEmpty"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "format": "guid"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntrySource"
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntryPostingStatus"
          },
          "syncStatus": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntrySyncStatus"
          },
          "versionId": {
            "type": "integer",
            "format": "int32"
          },
          "lastSyncVersionId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "exportedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "exportedBy": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.CustomFieldResponse"
            }
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "isEmpty": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntrySource": {
        "enum": [
          "ServiceTitan",
          "External"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "ServiceTitan",
          "External"
        ]
      },
      "Accounting.V2.JournalEntryPostingStatus": {
        "enum": [
          "Open",
          "Closed"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Open",
          "Closed"
        ]
      },
      "Accounting.V2.JournalEntrySyncStatus": {
        "enum": [
          "NotSynced",
          "InProgress",
          "Synced",
          "OutOfSync",
          "Error",
          "Excluded"
        ],
        "type": "string",
        "description": "Indicates a journal entry's sync status.",
        "x-enumNames": [
          "NotSynced",
          "InProgress",
          "Synced",
          "OutOfSync",
          "Error",
          "Excluded"
        ]
      },
      "Accounting.V2.JournalEntryPagingResponse_Of_Accounting.V2.JournalEntryResponse": {
        "required": [
          "pageSize",
          "page",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "description": "Page number for this query",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.JournalEntryResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.JournalEntryTransactionType": {
        "enum": [
          "Unspecified",
          "Invoice",
          "Payment",
          "Bill",
          "VendorCredit",
          "VendorPayment",
          "InventoryAdjustment",
          "PaymentApplication",
          "BankDeposit",
          "InventoryReturn",
          "InventoryTransfer",
          "RevenueRecognition",
          "Estimate",
          "PurchaseOrder",
          "Receipt",
          "GrossPayItem",
          "PayrollPeriod",
          "Manual",
          "ItemConsumption",
          "External",
          "CreditMemo",
          "CreditMemoApplication",
          "ExpenseTransaction",
          "ServiceAgreementVisit",
          "ServiceAgreementBudget",
          "CostPoolAllocation"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unspecified",
          "Invoice",
          "Payment",
          "Bill",
          "VendorCredit",
          "VendorPayment",
          "InventoryAdjustment",
          "PaymentApplication",
          "BankDeposit",
          "InventoryReturn",
          "InventoryTransfer",
          "RevenueRecognition",
          "Estimate",
          "PurchaseOrder",
          "Receipt",
          "GrossPayItem",
          "PayrollPeriod",
          "Manual",
          "ItemConsumption",
          "External",
          "CreditMemo",
          "CreditMemoApplication",
          "ExpenseTransaction",
          "ServiceAgreementVisit",
          "ServiceAgreementBudget",
          "CostPoolAllocation"
        ]
      },
      "Accounting.V2.EmptyJeHandling": {
        "enum": [
          "IncludeExceptNotSynced",
          "Include",
          "Exclude"
        ],
        "type": "string",
        "description": "Indicates whether empty journal entries should be included in journal entry query results",
        "x-enumNames": [
          "IncludeExceptNotSynced",
          "Include",
          "Exclude"
        ]
      },
      "Accounting.V2.JournalEntryPagingResponse_Of_Accounting.V2.JournalEntrySummaryResponse": {
        "required": [
          "pageSize",
          "page",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "description": "Page number for this query",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.JournalEntrySummaryResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.JournalEntrySummaryResponse": {
        "required": [
          "account",
          "credit",
          "debit"
        ],
        "type": "object",
        "properties": {
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "account": {
            "$ref": "#/components/schemas/Accounting.V2.GeneralLedgerAccount"
          },
          "credit": {
            "type": "number",
            "format": "decimal"
          },
          "debit": {
            "type": "number",
            "format": "decimal"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.GeneralLedgerAccount": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtype": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntryPagingResponse_Of_Accounting.V2.JournalEntryDetailsResponse": {
        "required": [
          "pageSize",
          "page",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "description": "Page number for this query",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.JournalEntryDetailsResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.JournalEntryDetailsResponse": {
        "required": [
          "account",
          "debit",
          "credit"
        ],
        "type": "object",
        "properties": {
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "account": {
            "$ref": "#/components/schemas/Accounting.V2.GeneralLedgerAccount"
          },
          "debit": {
            "type": "number",
            "format": "decimal"
          },
          "credit": {
            "type": "number",
            "format": "decimal"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "unitAmount": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "externalObjects": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExternalObjectResponse"
            }
          },
          "transaction": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryTransaction"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "inventoryLocation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "job": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NumberFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customerLocation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "paymentType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "project": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NumberFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "serviceAgreement": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NumberFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "appliedTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryTransaction"
              },
              {
                "type": "null"
              }
            ]
          },
          "sku": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySku"
              },
              {
                "type": "null"
              }
            ]
          },
          "transactionDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "internalCostType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryCostType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.ExternalObjectResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntryTransaction": {
        "required": [
          "id",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntryTransactionType"
          },
          "refNumber": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.NumberFieldResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntrySku": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySkuType"
              },
              {
                "type": "null"
              }
            ]
          },
          "code": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntrySkuType": {
        "enum": [
          "Service",
          "Material",
          "Equipment",
          "PriceModifier",
          "Unspecified"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Service",
          "Material",
          "Equipment",
          "PriceModifier",
          "Unspecified"
        ]
      },
      "Accounting.V2.JournalEntryCostType": {
        "enum": [
          "None",
          "Service",
          "Material",
          "Equipment",
          "Labor",
          "LaborBurden",
          "Tax",
          "Shipping",
          "RestockingFee",
          "OtherDirectCost",
          "LaborUnpaid",
          "OtherExpense"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "Service",
          "Material",
          "Equipment",
          "Labor",
          "LaborBurden",
          "Tax",
          "Shipping",
          "RestockingFee",
          "OtherDirectCost",
          "LaborUnpaid",
          "OtherExpense"
        ]
      },
      "Accounting.V2.JournalEntryCreateRequest": {
        "required": [
          "status",
          "versionId"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntryPostingStatus"
          },
          "versionId": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "customFields": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "lines": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.JournalEntryLineCreateRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntryLineCreateRequest": {
        "required": [
          "debit",
          "credit"
        ],
        "type": "object",
        "properties": {
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "accountId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "debit": {
            "type": "number",
            "format": "decimal"
          },
          "credit": {
            "type": "number",
            "format": "decimal"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "unitAmount": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "externalObjects": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.ExternalObjectSaveRequest"
            }
          },
          "businessUnitId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "customerId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "vendorId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "inventoryLocationId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "jobId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "customerLocationId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "paymentTypeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "projectId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "budgetCodeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "employeeId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "serviceAgreementId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "appliedTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryTransaction"
              },
              {
                "type": "null"
              }
            ]
          },
          "sku": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySkuSaveRequest"
              },
              {
                "type": "null"
              }
            ]
          },
          "internalCostType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryCostType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.ExternalObjectSaveRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntrySkuSaveRequest": {
        "required": [
          "id",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntrySkuType"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntrySaveRequest": {
        "required": [
          "status",
          "versionId"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.JournalEntryPostingStatus"
          },
          "versionId": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "postDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "customFields": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "lines": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.JournalEntryLineCreateRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntryUpdateRequest": {
        "type": "object",
        "properties": {
          "status": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntryStatus"
              }
            ],
            "description": "New journal entry status"
          },
          "customFields": {
            "maxProperties": 5,
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            },
            "description": "Custom fields to create or update.\\\n            An existing custom field cannot be deleted, but it can be set to null.\\\n            Existing fields not specified in this request will not be affected.\\\n            Maximum 5 custom fields per journal entry are supported."
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.JournalEntryStatus": {
        "enum": [
          "Open",
          "Closed"
        ],
        "type": "string",
        "description": "Indicates a journal entry's status.",
        "x-enumNames": [
          "Open",
          "Closed"
        ]
      },
      "Accounting.V2.JournalEntrySyncUpdateRequest": {
        "required": [
          "syncStatus"
        ],
        "type": "object",
        "properties": {
          "syncStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.JournalEntrySyncStatus"
              }
            ],
            "description": "Journal entry Sync Status"
          },
          "versionId": {
            "type": "integer",
            "description": "Jouranl entry version that should match the version Synced.\n            Required when setting to Sync Status Synced.\n            Not used for any other Sync Status.",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "description": "Message related to the new sync state"
          },
          "customFields": {
            "maxProperties": 5,
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            },
            "description": "Custom fields to create or update.\\\n            An existing custom field cannot be deleted, but it can be set to null.\\\n            Existing fields not specified in this request will not be affected.\\\n            Maximum 5 custom fields per journal entry are supported."
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.DetailedPaymentResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.DetailedPaymentResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.DetailedPaymentResponse": {
        "required": [
          "active",
          "createdOn",
          "id",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "appliedTo": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentAppliedResponse"
            }
          },
          "authCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.BatchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "businessUnit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "checkNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "customer": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "customFields": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/Accounting.CustomFieldModel"
            }
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "deposit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.NamedFieldResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "generalLedgerAccount": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.GLAccountResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ],
            "description": "The full memo: the custom free-text message combined with system processing notes."
          },
          "userMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "Custom free-text message stored with the payment. May be null, in which case refer to Memo."
          },
          "systemMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "System-generated processing notes for the payment. May be null, in which case refer to Memo."
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "referenceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "refundedPaymentId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "syncStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "exportSubstatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.ExportSubstatusResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "total": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "typeId": {
            "type": [
              "string",
              "null"
            ]
          },
          "unappliedAmount": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentTransactionType": {
        "enum": [
          "Undefined",
          "JournalEntry",
          "ReceivePayment"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Undefined",
          "JournalEntry",
          "ReceivePayment"
        ]
      },
      "Accounting.V2.PaymentResponse": {
        "required": [
          "id",
          "splits",
          "typeId"
        ],
        "type": "object",
        "properties": {
          "active": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "authCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "checkNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "customerId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "exportId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Gets or sets the identifier when exported."
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "memo": {
            "type": [
              "string",
              "null"
            ],
            "description": "The full memo: the custom free-text message combined with system processing notes."
          },
          "userMemo": {
            "type": [
              "string",
              "null"
            ],
            "description": "Custom free-text message stored with the payment. May be null, in which case refer to Memo."
          },
          "paidOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "splits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentSplitApiModel"
            }
          },
          "status": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.PaymentStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "transactionStatus": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.TransactionProcessingStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "typeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentSplitApiModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "invoiceId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "invoiceNumber": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentStatus": {
        "enum": [
          "Pending",
          "Posted",
          "Exported"
        ],
        "type": "string",
        "description": "Indicates a payment's status.",
        "x-enumNames": [
          "Pending",
          "Posted",
          "Exported"
        ]
      },
      "Accounting.V2.TransactionProcessingStatus": {
        "enum": [
          "Success",
          "Fail",
          "Pending",
          "Rejected"
        ],
        "type": "string",
        "description": "Indicates a transaction's status.",
        "x-enumNames": [
          "Success",
          "Fail",
          "Pending",
          "Rejected"
        ]
      },
      "Accounting.V2.PaymentUpdateRequest": {
        "required": [
          "splits",
          "typeId"
        ],
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "authCode": {
            "type": "string"
          },
          "checkNumber": {
            "type": "string"
          },
          "exportId": {
            "type": "string",
            "description": "Gets or sets the identifier when exported."
          },
          "memo": {
            "type": "string",
            "description": "Deprecated. Prefer UserMemo."
          },
          "userMemo": {
            "type": "string",
            "description": "Custom free-text message stored with the payment."
          },
          "paidOn": {
            "type": "string",
            "format": "date-time"
          },
          "splits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentSplitApiModel"
            }
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.PaymentStatus"
          },
          "typeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentStatusBatchRequest": {
        "required": [
          "paymentIds",
          "status"
        ],
        "type": "object",
        "properties": {
          "paymentIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "status": {
            "$ref": "#/components/schemas/Accounting.V2.PaymentStatus"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentTermAPIModel": {
        "required": [
          "dueDayType",
          "isCustomerDefault",
          "isVendorDefault",
          "active",
          "modifiedOn",
          "createdOn",
          "paymentTermDiscountModel",
          "interestSettings"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDayType": {
            "$ref": "#/components/schemas/Accounting.V2.PaymentTermDueDayType"
          },
          "dueDay": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "isCustomerDefault": {
            "type": "boolean"
          },
          "isVendorDefault": {
            "type": "boolean"
          },
          "active": {
            "type": "boolean"
          },
          "inUse": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "paymentTermDiscountModel": {
            "$ref": "#/components/schemas/Accounting.V2.PaymentTermDiscountAPIModel"
          },
          "interestSettings": {
            "$ref": "#/components/schemas/Accounting.V2.InterestSettingsAPIModel"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentTermDueDayType": {
        "enum": [
          "NumberOfDays",
          "CertainDayOfCurrentMonth",
          "CertainDayOfFollowingMonth"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NumberOfDays",
          "CertainDayOfCurrentMonth",
          "CertainDayOfFollowingMonth"
        ]
      },
      "Accounting.V2.PaymentTermDiscountAPIModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "discountApplyTo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.PaymentTermApplyTo"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "discountType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.PaymentTermValueType"
              },
              {
                "type": "null"
              }
            ]
          },
          "account": {
            "type": [
              "string",
              "null"
            ]
          },
          "applyBy": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.DiscountAppliedBy"
              },
              {
                "type": "null"
              }
            ]
          },
          "applyByValue": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.PaymentTermApplyTo": {
        "enum": [
          "ApplyToTotalAmount",
          "ApplyToSubtotalAmount",
          "ApplyToRemainingBalance"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "ApplyToTotalAmount",
          "ApplyToSubtotalAmount",
          "ApplyToRemainingBalance"
        ]
      },
      "Accounting.V2.PaymentTermValueType": {
        "enum": [
          "Fixed",
          "Percent"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Fixed",
          "Percent"
        ]
      },
      "Accounting.V2.DiscountAppliedBy": {
        "enum": [
          "NumberOfDays",
          "DayOfMonth",
          "DayOfFollowingMonth"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NumberOfDays",
          "DayOfMonth",
          "DayOfFollowingMonth"
        ]
      },
      "Accounting.V2.InterestSettingsAPIModel": {
        "required": [
          "rateType",
          "frequency",
          "targetInvoices",
          "taskId",
          "taskDisplayName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "rateType": {
            "$ref": "#/components/schemas/Accounting.V2.InterestRateType"
          },
          "flatRateValue": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "percentageRateValue": {
            "type": [
              "number",
              "null"
            ],
            "format": "decimal"
          },
          "chargeMethod": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.InterestChargeMethod"
              },
              {
                "type": "null"
              }
            ]
          },
          "frequency": {
            "$ref": "#/components/schemas/Accounting.V2.InterestChargeFrequency"
          },
          "gracePeriod": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "targetInvoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.InterestTargetInvoice"
            }
          },
          "taskId": {
            "type": "integer",
            "format": "int64"
          },
          "taskDisplayName": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.InterestRateType": {
        "enum": [
          "Flat",
          "Percentage",
          "MaxOfFlatAndPercentage"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Flat",
          "Percentage",
          "MaxOfFlatAndPercentage"
        ]
      },
      "Accounting.V2.InterestChargeMethod": {
        "enum": [
          "PrincipalOnly",
          "Total"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "PrincipalOnly",
          "Total"
        ]
      },
      "Accounting.V2.InterestChargeFrequency": {
        "enum": [
          "Once",
          "Daily",
          "Monthly"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Once",
          "Daily",
          "Monthly"
        ]
      },
      "Accounting.V2.InterestTargetInvoice": {
        "enum": [
          "JobInvoices",
          "MembershipInvoices",
          "ProgressInvoices",
          "PointOfSalesInvoices"
        ],
        "type": "string",
        "description": "",
        "x-enumNames": [
          "JobInvoices",
          "MembershipInvoices",
          "ProgressInvoices",
          "PointOfSalesInvoices"
        ]
      },
      "PaginatedResponse_Of_Accounting.V2.PaymentTermAPIModel": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentTermAPIModel"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "PaginatedResponse_Of_Accounting.V2.PaymentTypeResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.PaymentTypeResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.PaymentTypeResponse": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "modifiedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "createdOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponse_Of_Accounting.V2.RemittanceVendorResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.RemittanceVendorResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.RemittanceVendorResponse": {
        "required": [
          "id",
          "active",
          "isApproved",
          "isVerified",
          "createdOn",
          "modifiedOn"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Remittance vendor Id",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remittance vendor name"
          },
          "active": {
            "type": "boolean",
            "description": "Active/Inactive status"
          },
          "customerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Customer Id"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Indicates whether vendor validated by user during first payment approval"
          },
          "isVerified": {
            "type": "boolean",
            "description": "Indicates whether there were paid payments for this vendor"
          },
          "contactInfo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.RemittanceVendorContactInfoResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Remittance vendor contact information"
          },
          "address": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Accounting.V2.AddressResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Remittance vendor address"
          },
          "createdOn": {
            "type": "string",
            "description": "system created date",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "description": "last time adjustment was modified date",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Remittance vendor response"
      },
      "Accounting.V2.RemittanceVendorContactInfoResponse": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remittance vendor first name"
          },
          "lastName": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remittance vendor last name"
          },
          "phone": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remittance vendor phone"
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remittance vendor email"
          },
          "fax": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remittance vendor fax"
          }
        },
        "additionalProperties": false,
        "description": "Remittance vendor contact info response"
      },
      "PaginatedResponse_Of_Accounting.V2.TaxZoneResponse": {
        "required": [
          "page",
          "pageSize",
          "hasMore",
          "data"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "From which page this output has started",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size for this query (i.e. how many records were requested to return)",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if there are more records in the query than returned in this result"
          },
          "totalCount": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total count of records for this query (can optionally be populated)",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.TaxZoneResponse"
            },
            "description": "The collection of result items, will never have more than PageSize items"
          }
        },
        "additionalProperties": false,
        "description": "Represents paginated API response."
      },
      "Accounting.V2.TaxZoneResponse": {
        "required": [
          "id",
          "isTaxRateSeparated",
          "isMultipleTaxZone",
          "rates",
          "createdOn",
          "modifiedOn",
          "active"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Tax Zone Id",
            "format": "int64"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tax Zone Name"
          },
          "color": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Tax Zone Color",
            "format": "int32"
          },
          "isTaxRateSeparated": {
            "type": "boolean",
            "description": "Tax Zone has separate material and labor taxes"
          },
          "isMultipleTaxZone": {
            "type": "boolean",
            "description": "Tax Zone has multiple rates"
          },
          "rates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.TaxRateResponse"
            },
            "description": "Tax Zone rates"
          },
          "createdOn": {
            "type": "string",
            "description": "Date which the Tax Zone was created",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "description": "Date which the Tax Zone was modified",
            "format": "date-time"
          },
          "active": {
            "type": "boolean",
            "description": "Tax zone is active"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.TaxRateResponse": {
        "required": [
          "taxBaseType",
          "taxRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Tax Rate Id",
            "format": "int64"
          },
          "taxName": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tax Rate Name"
          },
          "taxBaseType": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Accounting.V2.TaxBaseTypeNames"
            },
            "description": "Indicates how the tax rate is applied (Subtotal, Labor, Material)"
          },
          "taxRate": {
            "type": "number",
            "description": "Tax rate as a fractional/decimal value",
            "format": "decimal"
          },
          "salesTaxItem": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Quickbooks item that relates to this tax rate"
          }
        },
        "additionalProperties": false
      },
      "Accounting.V2.TaxBaseTypeNames": {
        "enum": [
          "Subtotal",
          "Labor",
          "Material"
        ],
        "type": "string",
        "description": "Indicates the types of tax applied for a given rate",
        "x-enumNames": [
          "Subtotal",
          "Labor",
          "Material"
        ]
      }
    },
    "securitySchemes": {
      "apiKeyHeader": {
        "type": "apiKey",
        "name": "ST-App-Key",
        "in": "header",
        "description": "ServiceTitan App Key Header"
      },
      "oauth": {
        "type": "oauth2",
        "description": "OAuth 2.0 Client Credentials Flow",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://auth.servicetitan.io/connect/token",
            "scopes": {
              "tn.acc.apbills:r": "Accounting → AP Bills (Read)",
              "tn.acc.apbills:w": "Accounting → AP Bills (Write)",
              "tn.acc.apcredits:r": "Accounting → AP Credits (Read)",
              "tn.acc.apcredits:w": "Accounting → AP Credits (Write)",
              "tn.acc.appayments:r": "Accounting → AP Payments (Read)",
              "tn.acc.appayments:w": "Accounting → AP Payments (Write)",
              "tn.acc.creditmemos:r": "Accounting → Credit Memos (Read)",
              "tn.acc.creditmemos:w": "Accounting → Credit Memos (Write)",
              "tn.acc.bankdeposits:r": "Accounting → Bank Deposits (Read)",
              "tn.acc.bankdeposits:w": "Accounting → Bank Deposits (Write)",
              "tn.acc.expensetransactions:r": "Accounting → Expense Transactions (Read)",
              "tn.acc.expensetransactions:w": "Accounting → Expense Transactions (Write)",
              "tn.acc.invoices:r": "Accounting → Invoices (Read)",
              "tn.acc.invoiceitems:r": "Accounting → Invoice Items (Read)",
              "tn.acc.payments:r": "Accounting → Payments (Read)",
              "tn.acc.inventorybills:r": "Accounting → Inventory Bills (Read)",
              "tn.acc.glaccounts:r": "Accounting → GL Accounts (Read)",
              "tn.acc.glaccounts:w": "Accounting → GL Accounts (Write)",
              "tn.acc.inventorybills:w": "Accounting → Inventory Bills (Write)",
              "tn.acc.invoices:w": "Accounting → Invoices (Write)",
              "tn.acc.journalentries:r": "Accounting → Journal Entries (Read)",
              "tn.acc.journalentries:w": "Accounting → Journal Entries (Write)",
              "tn.acc.payments:w": "Accounting → Payments (Write)",
              "tn.acc.paymentterms:r": "Accounting → Payment Terms (Read)",
              "tn.acc.paymenttypes:r": "Accounting → Payment Types (Read)",
              "tn.acc.remittancevendors:r": "Accounting → Remittance Vendors (Read)",
              "tn.acc.taxzones:r": "Accounting → Tax Zones (Read)"
            }
          }
        }
      }
    }
  }
}